@inrupt/solid-client-authn-browser / SessionManager
Class: SessionManager¶
DEPRECATION NOTE: We don’t plan on supporting multi session for client-side applications. Please see @inrupt/solid-client-authn-node for server-side multi session. This class will be removed in an upcoming major release.
A SessionManager instance can be used to manage all the sessions in an application, each session being associated with an individual user.
deprecated
Hierarchy¶
EventEmitter
↳ SessionManager
Implements¶
ISessionManager
Constructors¶
constructor¶
+ new SessionManager(options?: ISessionManagerOptions): SessionManager
Constructor for the SessionManager object. It is typically used as follows:
import { SessionManager } from "@inrupt/solid-client-authn-browser";
import customStorage from "./myCustomStorage";
const sessionManager = new SessionManager({
secureStorage: customStorage
});
See IStorage for more information on how to define your own storage mechanism.
Parameters:¶
Name |
Type |
Default value |
Description |
|---|---|---|---|
|
… |
Options customizing the behaviour of the SessionManager, namely to store data appropriately. |
Returns: SessionManager
Defined in: browser/src/SessionManager.ts:59
Properties¶
handledIncomingRedirect¶
• Private handledIncomingRedirect: boolean= false
Defined in: browser/src/SessionManager.ts:59
sessionRecords¶
• Private sessionRecords: Record<string, { logoutCallback: () => unknown ; session: Session }>
Defined in: browser/src/SessionManager.ts:52
captureRejectionSymbol¶
▪ Readonly Static captureRejectionSymbol: typeof captureRejectionSymbol
Defined in: browser/node_modules/@types/node/events.d.ts:43
captureRejections¶
▪ Static captureRejections: boolean
Sets or gets the default captureRejection value for all emitters.
Defined in: browser/node_modules/@types/node/events.d.ts:49
defaultMaxListeners¶
▪ Static defaultMaxListeners: number
Defined in: browser/node_modules/@types/node/events.d.ts:50
errorMonitor¶
▪ Readonly Static errorMonitor: typeof errorMonitor
This symbol shall be used to install a listener for only monitoring 'error'
events. Listeners installed using this symbol are called before the regular
'error' listeners are called.
Installing a listener using this symbol does not change the behavior once an
'error' event is emitted, therefore the process will still crash if no
regular 'error' listener is installed.
Defined in: browser/node_modules/@types/node/events.d.ts:42
Methods¶
addListener¶
▸ addListener(event: string | symbol, listener: (…args: any[]) => void): SessionManager
Parameters:¶
Name |
Type |
|---|---|
|
string | symbol |
|
(… |
Returns: SessionManager
Defined in: browser/node_modules/@types/node/events.d.ts:62
addNewSessionRecord¶
detachSession¶
▸ detachSession(sessionId: string): void
Removes a session from the pool managed by the manager. This is typically useful when a user logs out of the application, so that the number of managed session is not ever-growing. Note that this specific function does not log out the session, it only removes references to it, so after this call the session will become unreachable.
since 0.2.0
Parameters:¶
Name |
Type |
Description |
|---|---|---|
|
string |
A unique session identifier. |
Returns: void
Defined in: browser/src/SessionManager.ts:196
emit¶
▸ emit(event: string | symbol, …args: any[]): boolean
Parameters:¶
Name |
Type |
|---|---|
|
string | symbol |
|
any[] |
Returns: boolean
Defined in: browser/node_modules/@types/node/events.d.ts:72
eventNames¶
▸ eventNames(): (string | symbol)[]
Returns: (string | symbol)[]
Defined in: browser/node_modules/@types/node/events.d.ts:77
getMaxListeners¶
▸ getMaxListeners(): number
Returns: number
Defined in: browser/node_modules/@types/node/events.d.ts:69
getSession¶
▸ getSession(sessionId?: string): Promise<Session>
Creates a new session and adds it to the session manager. If a session ID is not provided then a random UUID will be assigned as the session ID. If the session of the provided ID already exists then that session will be returned.
getSessionFromCurrentSessionInfo¶
▸ PrivategetSessionFromCurrentSessionInfo(sessionInfo: ISessionInfo): Session
getSessions¶
▸ getSessions(): Promise<Session[]>
Returns: Promise<Session[]>
all the sessions currently managed by the session manager.
Defined in: browser/src/SessionManager.ts:121
handleIncomingRedirect¶
▸ handleIncomingRedirect(url: string): Promise<undefined | Session>
Processes the information sent by the identity provider after the user has logged in, in order to return a logged in Session.
hasSession¶
▸ hasSession(sessionId: string): Promise<boolean>
Parameters:¶
Name |
Type |
Description |
|---|---|---|
|
string |
A unique session identifier. |
Returns: Promise<boolean>
A Promise resolving to true if a session associated with the given ID exists, and false if not.
Defined in: browser/src/SessionManager.ts:164
init¶
▸ Privateinit(): Promise<void>
Returns: Promise<void>
Defined in: browser/src/SessionManager.ts:84
listenerCount¶
▸ listenerCount(event: string | symbol): number
Parameters:¶
Name |
Type |
|---|---|
|
string | symbol |
Returns: number
Defined in: browser/node_modules/@types/node/events.d.ts:73
listeners¶
▸ listeners(event: string | symbol): Function[]
Parameters:¶
Name |
Type |
|---|---|
|
string | symbol |
Returns: Function[]
Defined in: browser/node_modules/@types/node/events.d.ts:70
off¶
▸ off(event: string | symbol, listener: (…args: any[]) => void): SessionManager
Parameters:¶
Name |
Type |
|---|---|
|
string | symbol |
|
(… |
Returns: SessionManager
Defined in: browser/node_modules/@types/node/events.d.ts:66
on¶
▸ on(event: string | symbol, listener: (…args: any[]) => void): SessionManager
Parameters:¶
Name |
Type |
|---|---|
|
string | symbol |
|
(… |
Returns: SessionManager
Defined in: browser/node_modules/@types/node/events.d.ts:63
onSessionLogin¶
▸ onSessionLogin(callback: (session: Session) => unknown): void
Registers a callback to be called when a session is logged in.
onSessionLogout¶
▸ onSessionLogout(callback: (session: Session) => unknown): void
Registers a callback to be called when a session is logged out.
once¶
▸ once(event: string | symbol, listener: (…args: any[]) => void): SessionManager
Parameters:¶
Name |
Type |
|---|---|
|
string | symbol |
|
(… |
Returns: SessionManager
Defined in: browser/node_modules/@types/node/events.d.ts:64
prependListener¶
▸ prependListener(event: string | symbol, listener: (…args: any[]) => void): SessionManager
Parameters:¶
Name |
Type |
|---|---|
|
string | symbol |
|
(… |
Returns: SessionManager
Defined in: browser/node_modules/@types/node/events.d.ts:75
prependOnceListener¶
▸ prependOnceListener(event: string | symbol, listener: (…args: any[]) => void): SessionManager
Parameters:¶
Name |
Type |
|---|---|
|
string | symbol |
|
(… |
Returns: SessionManager
Defined in: browser/node_modules/@types/node/events.d.ts:76
rawListeners¶
▸ rawListeners(event: string | symbol): Function[]
Parameters:¶
Name |
Type |
|---|---|
|
string | symbol |
Returns: Function[]
Defined in: browser/node_modules/@types/node/events.d.ts:71
removeAllListeners¶
▸ removeAllListeners(event?: string | symbol): SessionManager
Parameters:¶
Name |
Type |
|---|---|
|
string | symbol |
Returns: SessionManager
Defined in: browser/node_modules/@types/node/events.d.ts:67
removeListener¶
▸ removeListener(event: string | symbol, listener: (…args: any[]) => void): SessionManager
Parameters:¶
Name |
Type |
|---|---|
|
string | symbol |
|
(… |
Returns: SessionManager
Defined in: browser/node_modules/@types/node/events.d.ts:65
setMaxListeners¶
▸ setMaxListeners(n: number): SessionManager
Parameters:¶
Name |
Type |
|---|---|
|
number |
Returns: SessionManager
Defined in: browser/node_modules/@types/node/events.d.ts:68
listenerCount¶
▸ StaticlistenerCount(emitter: EventEmitter, event: string | symbol): number
deprecated since v4.0.0
Parameters:¶
Name |
Type |
|---|---|
|
EventEmitter |
|
string | symbol |
Returns: number
Defined in: browser/node_modules/@types/node/events.d.ts:31
on¶
▸ Staticon(emitter: EventEmitter, event: string): AsyncIterableIterator<any>
Parameters:¶
Name |
Type |
|---|---|
|
EventEmitter |
|
string |
Returns: AsyncIterableIterator<any>
Defined in: browser/node_modules/@types/node/events.d.ts:28
once¶
▸ Staticonce(emitter: NodeEventTarget, event: string | symbol): Promise<any[]>
Parameters:¶
Name |
Type |
|---|---|
|
NodeEventTarget |
|
string | symbol |
Returns: Promise<any[]>
Defined in: browser/node_modules/@types/node/events.d.ts:26
▸ Staticonce(emitter: DOMEventTarget, event: string): Promise<any[]>
Parameters:¶
Name |
Type |
|---|---|
|
DOMEventTarget |
|
string |
Returns: Promise<any[]>
Defined in: browser/node_modules/@types/node/events.d.ts:27