Class AccessToken
- java.lang.Object
-
- com.jalios.jstore.BasicStorable
-
- com.jalios.jcms.Data
-
- com.jalios.jcms.authentication.accesstoken.AccessToken
-
- All Implemented Interfaces:
DBData,JcmsConstants,ImportConstants,MashupConstants,Storable,JaliosConstants,LangPropertyArgument,java.io.Serializable,java.lang.Cloneable,java.lang.Comparable<BasicStorable>
public class AccessToken extends Data implements DBData
POJO use to store access token (authkey or JWT token) that were emitted to end user.getFingerprint()is the only values for security check. All others field are only provided for information to track security constraint that were configured when token was emitted.- Since:
- JCMS-4770
- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classAccessToken.Fields-
Nested classes/interfaces inherited from class com.jalios.jcms.Data
Data.AuthorComparator<T extends Data>, Data.AuthorizedSelector, Data.AuthorSelector, Data.CdateSelector, Data.DataNameComparator<T extends Data>, Data.DeletableSelector, Data.ImportSelector, Data.MdateSelector, Data.OpAuthorComparator<T extends Data>, Data.RowIdComparator<T extends Data>, Data.StrongLockSelector
-
Nested classes/interfaces inherited from class com.jalios.jstore.BasicStorable
BasicStorable.CdateComparator<T extends Storable>, BasicStorable.IdComparator<T extends Storable>, BasicStorable.MdateComparator<T extends Storable>
-
-
Field Summary
-
Fields inherited from class com.jalios.jcms.Data
author, authorDBID, channel, DISPLAY_URL_EXTRA_INFO, extension, extraDataMap, extraDBDataMapToSaveOnOp, importMap, opAuthor, opDelegate, WRITE_IN_PROGRESS_EXTRA_INFO, WYSIWYG_INLINE_EDIT_REQUEST_PARAMETER
-
Fields inherited from class com.jalios.jstore.BasicStorable
cdate, ddate, id, isStoreCache, mdate, store
-
Fields inherited from interface com.jalios.jcms.mashup.ImportConstants
IMPORT_ALARM_MGR, IMPORT_AUTHOR_PROP, IMPORT_CATEGORY_DEFAULT, IMPORT_DC_ATTR, IMPORT_DC_STEP, IMPORT_DIR, IMPORT_ENABLED, IMPORT_JDOM_ELEMENT, IMPORT_LOG_FILE, IMPORT_LOG_MAX, IMPORT_OPTIONS, IMPORT_OPTIONS_DC_CONTEXT, IMPORT_ROOT_PROP, IMPORT_SOURCE_FILE, IMPORT_SOURCE_PREFIX_PROP, IMPORT_SOURCES_DIR, IMPORT_STEP_CLEAN, IMPORT_STEP_IMPORT, IMPORT_STEP_UPDATE_REF, IMPORT_WS_PROP
-
Fields inherited from interface com.jalios.util.JaliosConstants
CRLF, MILLIS_IN_ONE_DAY, MILLIS_IN_ONE_HOUR, MILLIS_IN_ONE_MINUTE, MILLIS_IN_ONE_MONTH, MILLIS_IN_ONE_SECOND, MILLIS_IN_ONE_WEEK, MILLIS_IN_ONE_YEAR
-
Fields inherited from interface com.jalios.jcms.JcmsConstants
ADATE_SEARCH, ADMIN_NOTES_PROP, ADVANCED_TAB, AJAX_MODE_ATTR, ARCHIVES_DIR, ASCII_WIDTH, CATEGORY_TAB, CDATE_SEARCH, CLASS_PROPERTY, COMMON_ALARM, CONTENT_TAB, COOKIE_MAX_AGE, COUNTRY_SPRITE, CS_TYPOLOGY_ROOT_CAT_VID, CTRL_TOPIC_INTERNAL, CTRL_TOPIC_REF, CTRL_TOPIC_VALUE, CTRL_TOPIC_WRITE, CUSTOM_PROP, DATA_DIRECTORY, DEFAULT_PHOTO_PROP, DOCCHOOSER_HEIGHT, DOCCHOOSER_WIDTH, DOCS_DIR, EDATE_SEARCH, EMAIL_REGEXP, ERROR_MSG, FORBIDDEN_FILE_ACCESS, FORBIDDEN_REDIRECT, FORCE_REDIRECT, GLYPH_ICON_PREFIX, ICON_ARCHIVE, ICON_ICON_PREFIX, ICON_LOCK, ICON_LOCK_STRONG, ICON_PREFIX_PROP, ICON_WARN, ICON_WH_BOOK_CLOSED, ICON_WH_BOOK_OPEN, INFORMATION_MSG, IS_IN_FRONT_OFFICE, JALIOS_JUNIT_PROP, JCMS_CADDY, JCMS_MSG_LIST, JCMS_TOASTR_COLLECTION, JSYNC_DOWNLOAD_DIR, JSYNC_SYNC_ALARM, LANG_SPRITE, LOG_FILE, LOG_TOPIC_SECURITY, LOGGER_PROP, LOGGER_XMLPROP, MBR_PHOTO_DIR, MDATE_SEARCH, MONITOR_XML, OP_CREATE, OP_CREATE_STR, OP_DEEP_COPY, OP_DEEP_COPY_STR, OP_DEEP_DELETE, OP_DEEP_DELETE_STR, OP_DELETE, OP_DELETE_STR, OP_MERGE, OP_MERGE_STR, OP_UPDATE, OP_UPDATE_STR, ORGANIZATION_ROOT_GROUP_PROP, PDATE_SEARCH, PHOTO_DIR, PHOTO_ICON, PHOTO_ICON_HEIGHT, PHOTO_ICON_PROP_PREFIX, PHOTO_ICON_WIDTH, PHOTO_LARGE, PHOTO_LARGE_HEIGHT, PHOTO_LARGE_PROP_PREFIX, PHOTO_LARGE_WIDTH, PHOTO_MINI, PHOTO_MINI_HEIGHT, PHOTO_MINI_PROP_PREFIX, PHOTO_MINI_WIDTH, PHOTO_NORMAL, PHOTO_NORMAL_HEIGHT, PHOTO_NORMAL_PROP_PREFIX, PHOTO_NORMAL_WIDTH, PHOTO_SMALL, PHOTO_SMALL_HEIGHT, PHOTO_SMALL_PROP_PREFIX, PHOTO_SMALL_WIDTH, PHOTO_TINY, PHOTO_TINY_HEIGHT, PHOTO_TINY_PROP_PREFIX, PHOTO_TINY_WIDTH, PREVIOUS_TAB, PRINT_VIEW, PRIVATE_FILE_ACCESS, PUBLIC_FILE_ACCESS, RAW_CONTENT_ICON_PREFIX, READ_RIGHT_TAB, SDATE_SEARCH, SEARCHENGINE_ALARM, SECURITY_LOG_FILE, SESSION_AUTHORIZED_FILENAMES_SET, SPRITE_ICON_PREFIX, STATS_REPORT_DIR, STATUS_PROP, STORE_DIR, STORE_XML, SUCCESS_MSG, SVG_ICON_PREFIX, SVGINLINE_ICON_PREFIX, TEMPLATE_TAB, THUMBNAIL_LARGE_HEIGHT, THUMBNAIL_LARGE_WIDTH, THUMBNAIL_SMALL_HEIGHT, THUMBNAIL_SMALL_WIDTH, TTCARD_MEDIA_HEIGHT, TTCARD_MEDIA_WIDTH, TYPES_ICON_ALT_PROP, TYPES_ICON_SUFFIX_PROP, TYPES_ICON_TITLE_PROP, TYPES_PREFIX_PROP, TYPES_THUMB_SUFFIX_PROP, UDATE_SEARCH, UPDATE_RIGHT_TAB, UPLOAD_DIR, UPLOAD_PERMISSION_COUNT_PROP_PREFIX, UPLOAD_PERMISSION_SIZE_PROP_PREFIX, URL_REGEXP, VID_LOGGED_MEMBER, WARNING_MSG, WEBAPP_PROP, WFEXPRESS_ALARM, WFREMINDER_ALARM, WORKFLOW_TAB, WORKFLOW_XML
-
Fields inherited from interface com.jalios.jcms.mashup.MashupConstants
DATA_TAG, DATASET_TAG, FIELD_CLASS, FIELD_ENTRY, FIELD_ITEM, FIELD_KEY, FIELD_NAME, FIELD_TAG, FIELD_VALUE, FILE_FIELD, FILE_ID, FILE_MTIME, FILE_SIZE, FILE_TAG, FILE_TICKET, FILESET_TAG, RELATED_TAG
-
-
Constructor Summary
Constructors Constructor Description AccessToken()AccessToken(AccessToken other)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleancanBeReadBy(Member member, boolean searchInGroups, RightInfo rightInfo)Checks if the specified member is authorized to read this Data.java.lang.StringgetDataName(java.lang.String language)Return the name of this Data, every sub class Data which will be displayed to user should implements this method already.java.util.DategetExpirationDate()Retrieve the expiration date that was intially computed when the Authentication key was sent.java.lang.StringgetFingerprint()Retrieve the token fingerprint.java.lang.StringgetIpMask()Retrieve regular expression used to match IP authorized for this tokenjava.util.DategetLastUsedDate()Retrieve the date this AccessToken was last used.MembergetMember()Returns the Member this token allows to sign injava.lang.StringgetMemberId()Returns the id of the member this token allows to sign injava.lang.StringgetMethods()Retrieve methods accepted by tokenjava.lang.StringgetName()Retrieve the name describing the tokenjava.lang.StringgetTokenType()Retrieve the type of authentication Token (jwt/authkey)java.lang.StringgetUrl()Retrieve the URL for which the token was emitted.longgetUseCount()Retrieve the number of time this AccessToken was usedvoidincrementUseCount()Increment the use count of this access token by one.booleanisPrefixMode()Retrieve wether token was emitted in prefix or exact modebooleanisTechnical()Check if this token was created manually or programmaticallyvoidsetExpirationDate(java.util.Date expirationDate)Set the expiration date of this AccessToken.voidsetFingerprint(java.lang.String fingerprint)Set the token fingerprint.voidsetIpMask(java.lang.String ipMask)Set regular expression to use to match IP authorized for this tokenvoidsetLastUsedDate(java.util.Date lastUsedDate)Set the date this AccessToken was last used.voidsetMember(Member member)Set the Member this token allows to sign invoidsetMemberId(java.lang.String memberId)Sets the id of the Member that this AccessToken allow to sign invoidsetMethods(java.lang.String methods)Set methods accepted by tokenvoidsetName(java.lang.String name)Set the name describing the tokenvoidsetPrefixMode(java.lang.Boolean prefixMode)Set wether token is in prefix or exact modevoidsetTechnical(java.lang.Boolean technical)Set if this token was created manually or programmaticallyvoidsetTokenType(java.lang.String tokenType)Set the type of authentication Token (jwt/authkey)voidsetUrl(java.lang.String url)Set the URL for which the token is emitted.voidsetUseCount(java.lang.Long useCount)Set the number of time this AccessToken was used-
Methods inherited from class com.jalios.jcms.Data
canBeReadBy, canBeUnlockedBy, canRequestUnlock, checkAndPerformCreate, checkAndPerformCreate, checkAndPerformDelete, checkAndPerformDelete, checkAndPerformUpdate, checkAndPerformUpdate, checkCreate, checkCreate, checkDelete, checkDelete, checkIntegrity, checkIntegrity, checkLockMember, checkMember, checkStrongLockMember, checkStrongLockMember, checkUpdate, checkUpdate, checkWrite, cleanHybridCollection, cleanHybridCollection, cleanHybridCollection, cleanHybridCollections, clone, computeDBIDArray, computeDBIDList, computeDBIDSet, exportXml, exportXml, exportXml, exportXml, exportXmlField, exportXmlRelated, exportXmlRelated, fillExportXmlFieldAttributes, getAllReferrerSet, getAllReferrerSet, getAllTypeFieldEntry, getAuthor, getAuthor, getAuthorComparator, getAuthorDBID, getAuthorId, getAuthorSelector, getBooleanFieldValue, getBooleanFieldValue, getCaddyComparator, getCategoryFieldValue, getCategoryFieldValue, getCdateSelector, getComparator, getCSVHeader, getDataIcon, getDataIconAlt, getDataIconCSS, getDataIconHtml, getDataIconHtml, getDataIconTitle, getDataImage, getDataImage, getDataImage, getDataNameComparator, getDate, getDate, getDateSelector, getDeletableSelector, getDisplayLink, getDisplayLink, getDisplayLink, getDisplayLinkCss, getDisplayLinkDataAttribute, getDisplayLinkHtmlAttributes, getDisplayUrl, getDoubleFieldValue, getDoubleFieldValue, getExportXmlDataValue, getExtension, getExtraData, getExtraDataMap, getExtraDBData, getExtraDBDataMap, getExtraInfo, getExtraInfoMap, getFieldStatusMap, getFieldValue, getFieldValue, getFieldValue, getFieldValue, getGenericThumbnail, getGenericThumbnail, getImportAuthor, getImportBatch, getImportDate, getImportDisplayUrl, getImportId, getImportMap, getImportMdate, getImportSelector, getImportSignature, getImportSource, getImportSourceUrl, getImportUrl, getIntFieldValue, getIntFieldValue, getLangPropertyValue, getLinkCount, getLinkIndexedDataSet, getLinkIndexedDataSet, getLockDate, getLockInfo, getLockMember, getLongFieldValue, getLongFieldValue, getMdateSelector, getNewDefaultExtraDataMap, getNewDefaultExtraDataMap, getNewDefaultExtraDataMap, getNewDefaultExtraDataMap, getNewDefaultExtraDBDataMap, getNewDefaultExtraDBDataMap, getNewDefaultExtraDBDataMap, getNewDefaultExtraDBDataMap, getOpAuthor, getOpAuthorComparator, getOpAuthorId, getOpDelegate, getReadAuthorizedSelector, getReferrerSet, getRowId, getRowIdComparator, getStrongLock, getStrongLockContext, getStrongLockContextData, getStrongLockDate, getStrongLockInfo, getStrongLockMember, getStrongLockSelector, getTypeEntry, getTypeFieldsEntries, getUpdateInstance, getVirtualIDSet, importXml, importXmlFieldsWithReferences, importXmlFiles, importXmlReferences, initializeDBDataCollections, isDBData, isImported, isImportUpdated, isInDatabase, isLocked, isPersisted, isStrongLocked, lock, markNewImport, mergeHybridLink, mergeHybridLink, performAfterWrite, performBeforeWrite, performCreate, performCreate, performDelete, performDelete, performUpdate, performUpdate, prepareUpdateContext, printDataName, printDisplayLinkEnd, printDisplayLinkStart, printDisplayLinkStart, printDisplayUrl, printDisplayUrl, putStrongLock, putStrongLock, releaseStrongLock, releaseStrongLock, removeExtraData, removeExtraDBData, removeExtraInfo, setAuthor, setAuthorDBID, setAuthorId, setBooleanFieldValue, setCategoryFieldValue, setDoubleFieldValue, setExtension, setExtraData, setExtraDataMap, setExtraDBData, setExtraDBDataMap, setExtraDBDataMap, setExtraInfo, setFieldValue, setFieldValue, setImportAuthor, setImportBatch, setImportDate, setImportDisplayUrl, setImportId, setImportMap, setImportMdate, setImportSignature, setImportSource, setImportSourceUrl, setImportUpdated, setIntFieldValue, setLongFieldValue, setMdate, setOpAuthor, setOpAuthorId, setOpDelegate, setRowId, splitHybridCollections, toCSV, toFullString, toString, unlock, unlock, unmarkNewImport, updateDisplayLinkCss, updateDisplayLinkDataAttribute, updateDisplayLinkHtmlAttributes, updateExtraDataMap, updateExtraDBDataMap, updateIndexTreeSet
-
Methods inherited from class com.jalios.jstore.BasicStorable
clearId, compareTo, equals, getAttribute, getAttributes, getCdate, getCdateComparator, getDdate, getId, getIdComparator, getMdate, getMdateComparator, getStore, getUrid, hasBeenUpdated, hashCode, isStored, resetInternalCaches, resolveAtt, resolveVal, setAttributes, setAttributes, setCdate, setDdate, setId, setStore, toXml
-
-
-
-
Constructor Detail
-
AccessToken
public AccessToken()
-
AccessToken
public AccessToken(AccessToken other)
-
-
Method Detail
-
getMember
public Member getMember()
Returns the Member this token allows to sign in- Returns:
- a Member id
-
setMember
public void setMember(Member member)
Set the Member this token allows to sign in- Parameters:
member-
-
getMemberId
public java.lang.String getMemberId()
Returns the id of the member this token allows to sign in- Returns:
- a Member id
-
setMemberId
public void setMemberId(java.lang.String memberId)
Sets the id of the Member that this AccessToken allow to sign in- Parameters:
memberId- the id of the Member
-
getFingerprint
public java.lang.String getFingerprint()
Retrieve the token fingerprint.- Returns:
- a unique signature of the token
-
setFingerprint
public void setFingerprint(java.lang.String fingerprint)
Set the token fingerprint.- Parameters:
fingerprint- a unique value identifying the token value (must fit in 256 characters)
-
getTokenType
public java.lang.String getTokenType()
Retrieve the type of authentication Token (jwt/authkey)- Returns:
- "JWT" or "AUTHKEY", null if unknown
-
setTokenType
public void setTokenType(java.lang.String tokenType)
Set the type of authentication Token (jwt/authkey)- Parameters:
tokenType- "JWT" or "AUTHKEY", null if unknown
-
getName
public java.lang.String getName()
Retrieve the name describing the token- Returns:
- a name or null if it was not specified
-
setName
public void setName(java.lang.String name)
Set the name describing the token- Parameters:
name- a text describing the token
-
getUrl
public java.lang.String getUrl()
Retrieve the URL for which the token was emitted.- Returns:
- an URL
-
setUrl
public void setUrl(java.lang.String url)
Set the URL for which the token is emitted.- Parameters:
url- an URL
-
isPrefixMode
public boolean isPrefixMode()
Retrieve wether token was emitted in prefix or exact mode- Returns:
- true if token is prefix mode, false if token is in exact mode
-
setPrefixMode
public void setPrefixMode(java.lang.Boolean prefixMode)
Set wether token is in prefix or exact mode- Parameters:
prefixMode- true if token is prefix mode, false if token is in exact mode
-
getMethods
public java.lang.String getMethods()
Retrieve methods accepted by token- Returns:
- a coma separated list of HTTP methods accepted for token
-
setMethods
public void setMethods(java.lang.String methods)
Set methods accepted by token- Parameters:
methods- a coma separated list of HTTP methods accepted for token
-
getIpMask
public java.lang.String getIpMask()
Retrieve regular expression used to match IP authorized for this token- Returns:
- a regular expression
-
setIpMask
public void setIpMask(java.lang.String ipMask)
Set regular expression to use to match IP authorized for this token- Parameters:
ipMask- a regular expression
-
getExpirationDate
public java.util.Date getExpirationDate()
Retrieve the expiration date that was intially computed when the Authentication key was sent.This date is informative and is used for automatic purge of expired keys.
However it may not be completely accurate if any max age configuration is changed, either globally for site settings or for the Member (though its groups).- Returns:
- the Date at which the key is considered expired, may return null
-
setExpirationDate
public void setExpirationDate(java.util.Date expirationDate)
Set the expiration date of this AccessToken.- Parameters:
expirationDate- a Date after which this AccessToken can be deleted/purged.
-
isTechnical
public boolean isTechnical()
Check if this token was created manually or programmatically- Returns:
- true if token was created automatically by a program, false if token was created manually by a user action in the token manager UI
-
setTechnical
public void setTechnical(java.lang.Boolean technical)
Set if this token was created manually or programmatically- Parameters:
technical- true if token was created automatically by a program, false if token was created manually by a user action in the token manager UI
-
getLastUsedDate
public java.util.Date getLastUsedDate()
Retrieve the date this AccessToken was last used.- Returns:
- a Date or null if it was never used.
-
setLastUsedDate
public void setLastUsedDate(java.util.Date lastUsedDate)
Set the date this AccessToken was last used.- Parameters:
lastUsedDate- Date or null to indicated it was never used.
-
getUseCount
public long getUseCount()
Retrieve the number of time this AccessToken was used- Returns:
- a count
-
setUseCount
public void setUseCount(java.lang.Long useCount)
Set the number of time this AccessToken was used- Parameters:
useCount- the use count to assign
-
incrementUseCount
public void incrementUseCount()
Increment the use count of this access token by one.
-
getDataName
public java.lang.String getDataName(java.lang.String language)
Description copied from class:DataReturn the name of this Data, every sub class Data which will be displayed to user should implements this method already.
- The Title (multi-language) for a Publication.
- The Name (multi-language) for a Category.
- The Name for a Group, a Member.
- The Title (multi-language) for a Workspace.
Default behaviour is to return toFullString() of Data or empty string if toFullString is null.- Overrides:
getDataNamein classData- Parameters:
language- the language in which to return the name if multilang available for the data.- Returns:
- a String, MUST NOT return null.
-
canBeReadBy
public boolean canBeReadBy(Member member, boolean searchInGroups, RightInfo rightInfo)
Description copied from class:DataChecks if the specified member is authorized to read this Data.- Overrides:
canBeReadByin classData- Parameters:
member- the member to check (may be null for anonymous user)searchInGroups- set to true to check for read right authorization using Member's group(s).rightInfo- aRightInfoinstance in which explanation of read right authorization acceptance or refusal will be indicated. Value is required and cannot be null.- Returns:
- true if the member can read this Data, false otherwise
-
-