SessionManager

Class

The SessionManager is used to manage user sign in sessions.

Methods

MethodReturnsNotes
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

ArcGISIdentityManager

Return main session.

ArcGISIdentityManager

Return session by url.

string

Get session key from a session.

ArcGISIdentityManager[]

Return all sessions.

SignInError

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

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.

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.

void

Sign out from main portal.

useDialogToSetClientIdToConnectionsOfAppConfigAndSignIn(portalUrl, needToSignIn?, serviceUrl?, forceLogin?)
Promise<any>

Popup a dialog to set client id to app config

Get singleton instance.

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
portalSession
ArcGISIdentityManager

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

serverUrl
string
credentialsParamForGenerateToken
string
'same-origin'
Returns 
Promise<ArcGISIdentityManager>

generateToken

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

Generate token.

Parameters
ParameterTypeDefault
portalUrl
string
getTokenParam
string
''
credentialsParam
string
'same-origin'
Returns 
Promise<any>

getClientIdByUrl

Class Method
getClientIdByUrl(portalUrlstring): string

Get a valid client id for portal url

Parameters
ParameterTypeNotes
portalUrl
string

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
url
string
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
session
ArcGISIdentityManager

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.

getSignInErrorByCode

Class Method
getSignInErrorByCode(errorCodeSignInErrorCode): SignInError

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

Parameters
ParameterTypeDefaultNotes
errorCode
SignInErrorCode
SignInErrorCode.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
error
any

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
error
any
popup
boolean
true
Returns 
Promise<ArcGISIdentityManager>

isValidTokenFromStorage

Class Method
isValidTokenFromStorage(portalUrlstring): Promise<boolean>

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

Parameters
ParameterType
portalUrl
string
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
desUrl
string

The url you want to sign in

forceLogin
boolean
Returns 
Promise<any>

removeSession

Class Method
removeSession(sessionArcGISIdentityManager): boolean

Remove the session from session manager.

Parameters
ParameterTypeNotes
session
ArcGISIdentityManager

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
signInParams
SignInParams
{}

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
resourceUrl
string

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

owningSystemUrl
string

owning system url for federated service url

forceLogin
boolean
Returns 
Promise<ArcGISIdentityManager>

signOut

Class Method
signOut(): void

Sign out from main portal.

Returns 
void

useDialogToSetClientIdToConnectionsOfAppConfigAndSignIn

Class Method
useDialogToSetClientIdToConnectionsOfAppConfigAndSignIn(portalUrlstring, needToSignIn?boolean, serviceUrl?string, forceLogin?boolean): Promise<any>

Popup a dialog to set client id to app config

Parameters
ParameterTypeNotes
portalUrl
string

portal url

needToSignIn
boolean

indicates whether need to sign-in

serviceUrl
string

service url

forceLogin
boolean
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.

You can no longer sign into this site. Go to your ArcGIS portal or the ArcGIS Location Platform dashboard to perform management tasks.

Your ArcGIS portal

Create, manage, and access API keys and OAuth 2.0 developer credentials, hosted layers, and data services.

Your ArcGIS Location Platform dashboard

Manage billing, monitor service usage, and access additional resources.

Learn more about these changes in the What's new in Esri Developers June 2024 blog post.

Close