OAuth2.Server.RotatedRefreshToken
persistent class OAuth2.Server.RotatedRefreshToken extends %Library.Persistent
SQL Table Name: OAuth2_Server.RotatedRefreshToken
OAuth2.Server.RotatedRefreshToken tracks refresh tokens that have been rotated out during token refresh operations for the current session. This enables detection of token replay attacks, as recommended by RFC 6749 and the OAuth2 Security Best Current Practice.The presentation of a rotated-out (i.e., already-used and invalidated, not just invalid) refresh token to the token endpoint will be interpreted as malicious activity, and per the above guidelines, the authorization server will revoke the entire token family.
This class is used internally by InterSystems IRIS. You should not make direct use of it in your applications. There is no guarantee made about this class's behavior or future operation.
Property Inventory
Method Inventory
Properties
property AccessToken as OAuth2.Server.AccessToken [ Required ];
The OAuth2.Server.AccessToken (stable family identifier) that this rotated refresh token belonged to.
Property methods: AccessTokenGet(), AccessTokenGetObject(), AccessTokenGetObjectId(), AccessTokenGetStored(), AccessTokenGetSwizzled(), AccessTokenIsValid(), AccessTokenNewObject(), AccessTokenSet(), AccessTokenSetObject(), AccessTokenSetObjectId(), AccessTokenUnSwizzle()
property RefreshToken as %String (COLLATION = "EXACT") [ Required ];
Property methods: RefreshTokenDisplayToLogical(), RefreshTokenGet(), RefreshTokenGetStored(), RefreshTokenIsValid(), RefreshTokenLogicalToDisplay(), RefreshTokenLogicalToOdbc(), RefreshTokenNormalize(), RefreshTokenSet()
property RotatedAt as %Integer;
Property methods: RotatedAtDisplayToLogical(), RotatedAtGet(), RotatedAtGetStored(), RotatedAtIsValid(), RotatedAtLogicalToDisplay(), RotatedAtNormalize(), RotatedAtSet()
Methods
classmethod OpenByRotatedToken(refreshToken As %String, Output sc As %Status) as OAuth2.Server.RotatedRefreshToken
classmethod RecordTokenRotation(refreshToken As %String, accessToken As OAuth2.Server.AccessToken) as %Status
Indexes
index (IDKEY on ) [IdKey, Type = key];
Index methods: IDKEYCheck(), IDKEYDelete(), IDKEYExists(), IDKEYOpen(), IDKEYSQLCheckUnique(), IDKEYSQLExists(), IDKEYSQLFindPKeyByConstraint(), IDKEYSQLFindRowIDByConstraint()
Inherited Members
Inherited Methods
- %%CLASSNAMELogicalToStorage()
- %%CLASSNAMEStorageToLogical()
- %AddToSaveSet()
- %AddToSyncSet()
- %BMEBuilt()
- %BuildDeferred()
- %BuildDeferredBitString()
- %BuildDeferredRecord()
- %BuildIndicesAsync()
- %BuildIndicesAsyncResponse()
- %CheckConstraints()
- %CheckConstraintsForExtent()
- %ClassIsLatestVersion()
- %ClassName()
- %ComposeOid()
- %ConstructClone()
- %Delete()
- %DeleteExtent()
- %DeleteId()
- %DispatchClassMethod()
- %DispatchGetModified()
- %DispatchGetProperty()
- %DispatchMethod()
- %DispatchSetModified()
- %DispatchSetMultidimProperty()
- %DispatchSetProperty()
- %Exists()
- %ExistsId()
- %Extends()
- %GUID()
- %GUIDSet()
- %GetLock()
- %GetParameter()
- %GetSwizzleObject()
- %Id()
- %InsertBatch()
- %IsA()
- %IsModified()
- %IsNull()
- %KillExtent()
- %KillExtentData()
- %LoadFromMemory()
- %LockExtent()
- %LockId()
- %New()
- %NormalizeObject()
- %ObjectIsNull()
- %ObjectModified()
- %Oid()
- %OnBeforeAddToSync()
- %OnDeleteFinally()
- %OnDetermineClass()
- %OnOpenFinally()
- %OnSaveFinally()
- %Open()
- %OpenId()
- %OriginalNamespace()
- %PackageName()
- %PhysicalAddress()
- %PurgeIndices()
- %Reload()
- %RemoveFromSaveSet()
- %ResolveConcurrencyConflict()
- %RollBack()
- %Save()
- %SaveDirect()
- %SaveIndices()
- %SerializeObject()
- %SetModified()
- %SortBegin()
- %SortEnd()
- %SyncObjectIn()
- %SyncTransport()
- %UnlockExtent()
- %UnlockId()
- %ValidateIndices()
- %ValidateObject()
- %ValidateTable()