Skip to content

SessionManager

Class

The SessionManager is used to manage user sign in sessions.

Methods

MethodReturnsNotes
addFromCredential(credential, from, serverInfo?, oAuthInfo?)Promise<ArcGISIdentityManager>

Create a session from ArcGIS Maps SDK for JavaScript credential

clearSessions()void

Clear all sessions

generateSeverSessionByPortalSession(portalSession, serverUrl, credentialsParamForGenerateToken)Promise<ArcGISIdentityManager>

Generate server session with owning system portal session.

generateToken(portalUrl, getTokenParam, credentialsParam)Promise<any>

Generate token.

getClientIdByUrl(portalUrl)string

Get a valid client id for portal url

getMainSession()ArcGISIdentityManager

Return main session.

getSessionByUrl(url)ArcGISIdentityManager

Return session by url.

getSessionKeyFromSession(session)string

Get session key from a session.

getSessions()ArcGISIdentityManager[]

Return all sessions.

getSessionType(session)SessionType

Return session type according to a session

getSignInErrorByCode(errorCode)SignInError

Get the sign-in error by providing the sign-in error code.

getSignInErrorCodeByAuthError(error)SignInErrorCode

Get the sign-in error by providing the authentication error.

handleAuthError(error, popup)Promise<ArcGISIdentityManager>

When you need to handle the error caused by sign in, you can catch the error and call this method. This method will try to sign in to get a new session.

isSameSession(session1, session2)boolean

Return true if the two sessions are equal.

isSignInPromptBlocked()boolean

return true if the sign-in prompt is blocked only effects on app env, always return false in builder env

isValidTokenFromStorage(portalUrl)Promise<boolean>

Sends a request to check the token of the session from storage.

nonOAuthSignIn(desUrl, forceLogin?)Promise<any>

Start non-OAuth sign in flow and return the user session. It use esri request to sign-in resource

removeSession(session)boolean

Remove the session from session manager.

signIn(signInParams)Promise<ArcGISIdentityManager>

Start OAuth2 sign-in flow and return the user session.

signInByResourceUrl(resourceUrl, owningSystemUrl?, forceLogin?)Promise<ArcGISIdentityManager>

Start OAuth sign in flow by a resource url and return the user session.

signOut()void

Sign out from main portal.

useDialogToSetClientIdToConnectionsOfAppConfig(portalUrl)Promise<any>

Popup a dialog to set client id to app config

getInstance()SessionManager

Get singleton instance.

addFromCredential

Class Method
addFromCredential(credentialICredential | Credential, fromSessionChangedReasonType, serverInfo?ArcGISServerInfo, oAuthInfo?any): Promise<ArcGISIdentityManager>

Create a session from ArcGIS Maps SDK for JavaScript credential

Parameters
ParameterType
credentialICredential | Credential
fromSessionChangedReasonType
serverInfoArcGISServerInfo
oAuthInfoany
Returns 
Promise<ArcGISIdentityManager>

clearSessions

Class Method
clearSessions(): void

Clear all sessions

Returns 
void

generateSeverSessionByPortalSession

Class Method
generateSeverSessionByPortalSession(portalSessionArcGISIdentityManager, serverUrlstring, credentialsParamForGenerateTokenstring): Promise<ArcGISIdentityManager>

Generate server session with owning system portal session.

Parameters
ParameterTypeDefaultNotes
portalSessionArcGISIdentityManager

A session of ArcGIS REST JS 'ArcGISIdentityManager' representing a logged in user.

serverUrlstring
credentialsParamForGenerateTokenstring'same-origin'
Returns 
Promise<ArcGISIdentityManager>

generateToken

Class Method
generateToken(portalUrlstring, getTokenParamstring, credentialsParamstring): Promise<any>

Generate token.

Parameters
ParameterTypeDefault
portalUrlstring
getTokenParamstring''
credentialsParamstring'same-origin'
Returns 
Promise<any>

getClientIdByUrl

Class Method
getClientIdByUrl(portalUrlstring): string

Get a valid client id for portal url

Parameters
ParameterTypeNotes
portalUrlstring

portal url

Returns 
string

getMainSession

Class Method
getMainSession(): ArcGISIdentityManager

Return main session.

The main session is session of the portal that the app connects to.

Returns 
ArcGISIdentityManager

ArcGIS REST JS 'ArcGISIdentityManager' representing a logged in user.

getSessionByUrl

Class Method
getSessionByUrl(urlstring): ArcGISIdentityManager

Return session by url.

Parameters
ParameterType
urlstring
Returns 
ArcGISIdentityManager

ArcGIS REST JS 'ArcGISIdentityManager' representing a logged in user.

getSessionKeyFromSession

Class Method
getSessionKeyFromSession(sessionArcGISIdentityManager): string

Get session key from a session.

Parameters
ParameterTypeNotes
sessionArcGISIdentityManager

A session of ArcGIS REST JS 'ArcGISIdentityManager' representing a logged in user.

Returns 
string

getSessions

Class Method
getSessions(): ArcGISIdentityManager[]

Return all sessions.

Returns 
ArcGISIdentityManager[]

Array of ArcGIS REST JS 'ArcGISIdentityManager' representing the logged in users.

getSessionType

Class Method
getSessionType(sessionArcGISIdentityManager): SessionType

Return session type according to a session

Parameters
ParameterType
sessionArcGISIdentityManager
Returns 
SessionType

getSignInErrorByCode

Class Method
getSignInErrorByCode(errorCodeSignInErrorCode): SignInError

Get the sign-in error by providing the sign-in error code.

Parameters
ParameterTypeDefaultNotes
errorCodeSignInErrorCodeSignInErrorCode.Other

The sign-in error code.

Returns 
SignInError

getSignInErrorCodeByAuthError

Class Method
getSignInErrorCodeByAuthError(errorany): SignInErrorCode

Get the sign-in error by providing the authentication error.

Parameters
ParameterTypeNotes
errorany

ArcGISRequestError or ArcGISAuthError

Returns 
SignInErrorCode

handleAuthError

Class Method
handleAuthError(errorany, popupboolean): Promise<ArcGISIdentityManager>

When you need to handle the error caused by sign in, you can catch the error and call this method. This method will try to sign in to get a new session.

Parameters
ParameterTypeDefault
errorany
popupbooleantrue
Returns 
Promise<ArcGISIdentityManager>

isSameSession

Class Method
isSameSession(session1ArcGISIdentityManager, session2ArcGISIdentityManager): boolean

Return true if the two sessions are equal.

Parameters
ParameterType
session1ArcGISIdentityManager
session2ArcGISIdentityManager
Returns 
boolean

isSignInPromptBlocked

Class Method
isSignInPromptBlocked(): boolean

return true if the sign-in prompt is blocked only effects on app env, always return false in builder env

Returns 
boolean

isValidTokenFromStorage

Class Method
isValidTokenFromStorage(portalUrlstring): Promise<boolean>

Sends a request to check the token of the session from storage.

Parameters
ParameterType
portalUrlstring
Returns 
Promise<boolean>

nonOAuthSignIn

Class Method
nonOAuthSignIn(desUrlstring, forceLogin?boolean): Promise<any>

Start non-OAuth sign in flow and return the user session. It use esri request to sign-in resource

Parameters
ParameterTypeNotes
desUrlstring

The url you want to sign in

forceLoginboolean
Returns 
Promise<any>

removeSession

Class Method
removeSession(sessionArcGISIdentityManager): boolean

Remove the session from session manager.

Parameters
ParameterTypeNotes
sessionArcGISIdentityManager

A session of ArcGIS REST JS 'ArcGISIdentityManager' representing a logged in user.

Returns 
boolean

signIn

Class Method
signIn(signInParamsSignInParams): Promise<ArcGISIdentityManager>

Start OAuth2 sign-in flow and return the user session.

Parameters
ParameterTypeDefaultNotes
signInParamsSignInParams{}

The properties for sign in.

Returns 
Promise<ArcGISIdentityManager>

signInByResourceUrl

Class Method
signInByResourceUrl(resourceUrlstring, owningSystemUrl?string, forceLogin?boolean): Promise<ArcGISIdentityManager>

Start OAuth sign in flow by a resource url and return the user session.

Parameters
ParameterTypeNotes
resourceUrlstring

a resource url can be: service url: federated or non-federated; portal item url;

owningSystemUrlstring

owning system url for federated service url

forceLoginboolean
Returns 
Promise<ArcGISIdentityManager>

signOut

Class Method
signOut(): void

Sign out from main portal.

Returns 
void

useDialogToSetClientIdToConnectionsOfAppConfig

Class Method
useDialogToSetClientIdToConnectionsOfAppConfig(portalUrlstring): Promise<any>

Popup a dialog to set client id to app config

Parameters
ParameterTypeNotes
portalUrlstring

portal url

Returns 
Promise<any>

getInstance

static
Class Method
getInstance(): SessionManager

Get singleton instance.

Returns 
SessionManager

Your browser is no longer supported. Please upgrade your browser for the best experience. See our browser deprecation post for more details.