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 class
AccessToken.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 boolean
canBeReadBy(Member member, boolean searchInGroups, RightInfo rightInfo)
Checks if the specified member is authorized to read this Data.java.lang.String
getDataName(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.Date
getExpirationDate()
Retrieve the expiration date that was intially computed when the Authentication key was sent.java.lang.String
getFingerprint()
Retrieve the token fingerprint.java.lang.String
getIpMask()
Retrieve regular expression used to match IP authorized for this tokenjava.util.Date
getLastUsedDate()
Retrieve the date this AccessToken was last used.Member
getMember()
Returns the Member this token allows to sign injava.lang.String
getMemberId()
Returns the id of the member this token allows to sign injava.lang.String
getMethods()
Retrieve methods accepted by tokenjava.lang.String
getName()
Retrieve the name describing the tokenjava.lang.String
getTokenType()
Retrieve the type of authentication Token (jwt/authkey)java.lang.String
getUrl()
Retrieve the URL for which the token was emitted.long
getUseCount()
Retrieve the number of time this AccessToken was usedvoid
incrementUseCount()
Increment the use count of this access token by one.boolean
isPrefixMode()
Retrieve wether token was emitted in prefix or exact modeboolean
isTechnical()
Check if this token was created manually or programmaticallyvoid
setExpirationDate(java.util.Date expirationDate)
Set the expiration date of this AccessToken.void
setFingerprint(java.lang.String fingerprint)
Set the token fingerprint.void
setIpMask(java.lang.String ipMask)
Set regular expression to use to match IP authorized for this tokenvoid
setLastUsedDate(java.util.Date lastUsedDate)
Set the date this AccessToken was last used.void
setMember(Member member)
Set the Member this token allows to sign invoid
setMemberId(java.lang.String memberId)
Sets the id of the Member that this AccessToken allow to sign invoid
setMethods(java.lang.String methods)
Set methods accepted by tokenvoid
setName(java.lang.String name)
Set the name describing the tokenvoid
setPrefixMode(java.lang.Boolean prefixMode)
Set wether token is in prefix or exact modevoid
setTechnical(java.lang.Boolean technical)
Set if this token was created manually or programmaticallyvoid
setTokenType(java.lang.String tokenType)
Set the type of authentication Token (jwt/authkey)void
setUrl(java.lang.String url)
Set the URL for which the token is emitted.void
setUseCount(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:Data
Return 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:
getDataName
in 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:Data
Checks if the specified member is authorized to read this Data.- Overrides:
canBeReadBy
in 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
- aRightInfo
instance 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
-
-