Class
Used to authenticate methods in ArcGIS REST JS with oAuth 2.0 application credentials. The instance of ApplicationCredentialsManager can be passed to IRequestOptions.authentication to authenticate requests.
import { ApplicationCredentialsManager } from '@esri/arcgis-rest-request';
const session = ApplicationCredentialsManager.fromCredentials({
clientId: "abc123",
clientSecret: "••••••"
})Implements
Constructors
constructor
Class Constructornew ApplicationCredentialsManager(options: IApplicationCredentialsManagerOptions): ApplicationCredentialsManagerParameters
| Parameter | Type |
|---|---|
options | IApplicationCredentialsManagerOptions |
Returns
ApplicationCredentialsManagerProperties
Accessors
| Accessor | Returns | Notes |
|---|---|---|
get username() | string | The username of the currently authenticated user. |
Methods
| Method | Returns | Notes |
|---|---|---|
clearCachedUserInfo()inherited | void | Clear the cached user infornation. Usefull to ensure that the most recent user information from |
getToken(url, requestOptions?) | Promise<string> | Returns the proper token for a given URL and request options. |
getUser(requestOptions?)inherited | Promise<IUser> | Returns information about the currently logged in user. Subsequent calls will not result in additional web traffic. |
getUsername()inherited | Promise<string> | Returns the username for the currently logged in user. Subsequent calls will not result in additional web traffic. This is also used internally when a username is required for some requests but is not present in the options. |
refreshCredentials() | Promise<ApplicationCredentialsManager> | Optional. Refresh the stored credentials. |
refreshToken(requestOptions?) | Promise<string> | |
serialize() | string | Serializes the |
toJSON() | { clientId: string; clientSecret: string; duration: number; expires: Date; portal: string; token: string; type: string } | Converts the |
deserialize(serialized) | ApplicationCredentialsManager | Deserializes a JSON string previously created with |
fromCredentials(options) | ApplicationCredentialsManager | Preferred method for creating an |
clearCachedUserInfo
clearCachedUserInfo(): voidClear the cached user infornation. Usefull to ensure that the most recent user information from AuthenticationManagerBase.getUser is used.
Returns
voidgetToken
Class MethodgetToken(url: string, requestOptions?: ITokenRequestOptions): Promise<string>Returns the proper token for a given URL and request options.
Parameters
| Parameter | Type |
|---|---|
url | string |
request | ITokenRequestOptions |
Returns
Promise<string>getUser
getUser(requestOptions?: IRequestOptions): Promise<IUser>Returns information about the currently logged in user. Subsequent calls will not result in additional web traffic.
manager.getUser()
.then(response => {
console.log(response.role); // "org_admin"
})Parameters
| Parameter | Type | Notes |
|---|---|---|
request | IRequestOptions | Options for the request. NOTE: |
Returns
Promise<IUser>A Promise that will resolve with the data from the response.
getUsername
getUsername(): Promise<string>Returns the username for the currently logged in user. Subsequent calls will not result in additional web traffic. This is also used internally when a username is required for some requests but is not present in the options.
manager.getUsername()
.then(response => {
console.log(response); // "casey_jones"
})Returns
Promise<string>refreshCredentials
Class MethodrefreshCredentials(): Promise<ApplicationCredentialsManager>Optional. Refresh the stored credentials.
Returns
Promise<ApplicationCredentialsManager>refreshToken
Class MethodrefreshToken(requestOptions?: ITokenRequestOptions): Promise<string>Parameters
| Parameter | Type |
|---|---|
request | ITokenRequestOptions |
Returns
Promise<string>serialize
Class Methodserialize(): stringSerializes the ApplicationCredentialsManager instance to a JSON string.
Returns
stringThe serialized JSON string.
toJSON
Class MethodtoJSON(): { clientId: string; clientSecret: string; duration: number; expires: Date; portal: string; token: string; type: string }Converts the ApplicationCredentialsManager instance to a JSON object. This is called when the instance is serialized to JSON with JSON.stringify().
import { ApplicationCredentialsManager } from '@esri/arcgis-rest-request';
const session = ApplicationCredentialsManager.fromCredentials({
clientId: "abc123",
clientSecret: "••••••"
})
const json = JSON.stringify(session);Returns
{ clientId: string; clientSecret: string; duration: number; expires: Date; portal: string; token: string; type: string }A plain object representation of the instance.
deserialize
deserialize(serialized: string): ApplicationCredentialsManagerDeserializes a JSON string previously created with ApplicationCredentialsManager.serialize to an ApplicationCredentialsManager instance.
Parameters
| Parameter | Type | Notes |
|---|---|---|
serialized | string | The serialized JSON string. |
Returns
ApplicationCredentialsManagerAn instance of ApplicationCredentialsManager.
fromCredentials
fromCredentials(options: IApplicationCredentialsManagerOptions): ApplicationCredentialsManagerPreferred method for creating an ApplicationCredentialsManager
Parameters
| Parameter | Type |
|---|---|
options | IApplicationCredentialsManagerOptions |
Returns
ApplicationCredentialsManager