%OAuth2.Server.CookieSession
abstract persistent class %OAuth2.Server.CookieSession extends %Library.Persistent, %OAuth2.Server.AbstractSession
SQL Table Name: %OAuth2_Server.CookieSession
This class implements a simple OAuth2 session maintenance class where the user's session is tracked by an opaque cookie. This is a persistent class containing basic session data indexed by the cookie value.Property Inventory
Method Inventory
Parameters
parameter COOKIENAME;
The name of the cookie used to maintain the session
Properties
property AuthTime as %Integer;
The time when the user was authenticated
Property methods: AuthTimeDisplayToLogical(), AuthTimeGet(), AuthTimeIsValid(), AuthTimeLogicalToDisplay(), AuthTimeNormalize(), AuthTimeSet()
property Cookie as %String (COLLATION = "EXACT", MAXLEN = 128) [ Required ];
Opaque Cookie value used to track the user's session
Property methods: CookieDisplayToLogical(), CookieGet(), CookieIsValid(), CookieLogicalToDisplay(), CookieLogicalToOdbc(), CookieNormalize(), CookieSet()
property Expires as %Integer;
Expires is the time in seconds from beginning of the Unix epoch when the session expires.
If Expires="", then session does not expire.
Property methods: ExpiresDisplayToLogical(), ExpiresGet(), ExpiresIsValid(), ExpiresLogicalToDisplay(), ExpiresNormalize(), ExpiresSet()
property Scope as %String);
Scope is the blank separated list of scopes permitted for this user in this session.
Property methods: ScopeDisplayToLogical(), ScopeGet(), ScopeIsValid(), ScopeLogicalToDisplay(), ScopeLogicalToOdbc(), ScopeNormalize(), ScopeSet()
property Username as %Library.Username (COLLATION = "EXACT");
The User name associated with this session
Property methods: UsernameDisplayToLogical(), UsernameGet(), UsernameIsValid(), UsernameLogicalToDisplay(), UsernameLogicalToOdbc(), UsernameNormalize(), UsernameSet()
Methods
classmethod DeleteAll() as %Status
Delete all sessions.
classmethod GetCookie() as %String
This method will retrieve the cookie value for the current session, if one exists.
classmethod GetUser(Output scope As %String, Output authTime As %Integer, Output sc As %Status, authCode As %String = "") as %String
Return the username (and granted scopes, and authentication time) for the current session, or "" if there is no current session.
classmethod Login(username As %String, scope As %String, interval As %Integer, Output authTime As %Integer, authCode As %String = "") as %Status
Create a new session for the given user. This creates a new session Object and sets a new cookie in the User Agent
referencing this session.
classmethod Logout() as %Status
Terminate the current session. This will delete the session object and all cookies associated
with it and expire the cookie. Absence of a session is not seen as an error and this method will
still return 1 (though it won't actually do anything if no session exists).
classmethod MakeCookieValue() as %String
This method is used to produce the cookie value for a new session.
This method will set the given cookie value in the User Agent, with the given expiration time.
Update the current session with the given scope values and timeout interval.
This does nothing if there is no current session.
Indexes
index (CookieIndex on Cookie) [IdKey, Type = key, Unique];
The IDKEY for the session class.
Index methods: CookieIndexCheck(), CookieIndexDelete(), CookieIndexExists(), CookieIndexOpen(), CookieIndexSQLCheckUnique(), CookieIndexSQLExists(), CookieIndexSQLFindPKeyByConstraint(), CookieIndexSQLFindRowIDByConstraint()
index (ExpiresIndex on Expires);
Order by expiration time
Index methods: ExpiresIndexExists()
index (UserIndex on Username);
The session is indexed by the Username
Index methods: UserIndexExists()
Inherited Members
Inherited Methods
- %AddToSaveSet()
- %AddToSyncSet()
- %BuildDeferredIndices()
- %BuildIndices()
- %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()
- %IsA()
- %IsModified()
- %IsNull()
- %KillExtent()
- %LockExtent()
- %LockId()
- %New()
- %NormalizeObject()
- %ObjectIsNull()
- %ObjectModified()
- %Oid()
- %OnBeforeAddToSync()
- %OnDeleteFinally()
- %OnDetermineClass()
- %OnOpenFinally()
- %OnSaveFinally()
- %Open()
- %OpenId()
- %OriginalNamespace()
- %PackageName()
- %PurgeIndices()
- %Reload()
- %RemoveFromSaveSet()
- %ResolveConcurrencyConflict()
- %RollBack()
- %Save()
- %SaveDirect()
- %SerializeObject()
- %SetModified()
- %SortBegin()
- %SortEnd()
- %SyncObjectIn()
- %SyncTransport()
- %UnlockExtent()
- %UnlockId()
- %ValidateObject()
- UpdateTokenGroup()