Constructor
new TokenManager(config, requestManager)
Parameters:
| Name | Type | Description | 
|---|---|---|
config | 
            
            Config | The config object | 
requestManager | 
            
            APIRequestManager | The API Request Manager | 
- Source:
 
Methods
exchangeToken(accessToken, scopes, resourceopt, optionsopt) → {Promise.<TokenInfo>}
    Exchange a valid access token for one with a lower scope, or delegated to
an external user identifier.
    Parameters:
| Name | Type | Attributes | Description | ||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
accessToken | 
            
            string | The valid access token to exchange | |||||||||||||||||
scopes | 
            
            string | Array.<string> | The scope(s) of the new access token | |||||||||||||||||
resource | 
            
            string | 
                
                    <optional> | 
            
            
            The absolute URL of an API resource to restrict the new token to | ||||||||||||||||
options | 
            
            Object | 
                
                    <optional> | 
            
            
            Optional parameters
                Properties
  | 
        
- Source:
 
Returns:
    Promise resolving to the new token info
- Type
 - Promise.<TokenInfo>
 
exchangeToken(accessToken, scopes, resourceopt, optionsopt) → {Promise.<TokenInfo>}
    Exchange a valid access token for one with a lower scope, or delegated to
an external user identifier.
    Parameters:
| Name | Type | Attributes | Description | ||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
accessToken | 
            
            string | The valid access token to exchange | |||||||||||||||||
scopes | 
            
            string | Array.<string> | The scope(s) of the new access token | |||||||||||||||||
resource | 
            
            string | 
                
                    <optional> | 
            
            
            The absolute URL of an API resource to restrict the new token to | ||||||||||||||||
options | 
            
            Object | 
                
                    <optional> | 
            
            
            Optional parameters
                Properties
  | 
        
- Source:
 
Returns:
    Promise resolving to the new token info
- Type
 - Promise.<TokenInfo>
 
(private) getTokens(formParams, optionsopt) → {Promise.<TokenInfo>}
    Acquires OAuth2 tokens using a grant type (authorization_code, password, refresh_token)
    Parameters:
| Name | Type | Attributes | Description | 
|---|---|---|---|
formParams | 
            
            Object | should contain all params expected by Box OAuth2 token endpoint | |
options | 
            
            TokenRequestOptions | 
                
                    <optional> | 
            
            
            Sets optional behavior for the token grant, null for default behavior | 
- Source:
 
Returns:
    Promise resolving to the token info
- Type
 - Promise.<TokenInfo>
 
(private) getTokens(formParams, optionsopt) → {Promise.<TokenInfo>}
    Acquires OAuth2 tokens using a grant type (authorization_code, password, refresh_token)
    Parameters:
| Name | Type | Attributes | Description | 
|---|---|---|---|
formParams | 
            
            Object | should contain all params expected by Box OAuth2 token endpoint | |
options | 
            
            TokenRequestOptions | 
                
                    <optional> | 
            
            
            Sets optional behavior for the token grant, null for default behavior | 
- Source:
 
Returns:
    Promise resolving to the token info
- Type
 - Promise.<TokenInfo>
 
getTokensAuthorizationCodeGrant(authorizationCode, optionsopt) → {Promise.<TokenInfo>}
    Acquires token info using an authorization code
    Parameters:
| Name | Type | Attributes | Description | 
|---|---|---|---|
authorizationCode | 
            
            string | authorization code issued by Box | |
options | 
            
            TokenRequestOptions | 
                
                    <optional> | 
            
            
            Sets optional behavior for the token grant | 
- Source:
 
Returns:
    Promise resolving to the token info
- Type
 - Promise.<TokenInfo>
 
getTokensAuthorizationCodeGrant(authorizationCode, optionsopt) → {Promise.<TokenInfo>}
    Acquires token info using an authorization code
    Parameters:
| Name | Type | Attributes | Description | 
|---|---|---|---|
authorizationCode | 
            
            string | authorization code issued by Box | |
options | 
            
            TokenRequestOptions | 
                
                    <optional> | 
            
            
            Sets optional behavior for the token grant | 
- Source:
 
Returns:
    Promise resolving to the token info
- Type
 - Promise.<TokenInfo>
 
getTokensClientCredentialsGrant(optionsopt) → {Promise.<TokenInfo>}
    Acquires token info using the client credentials grant.
    Parameters:
| Name | Type | Attributes | Description | 
|---|---|---|---|
options | 
            
            TokenRequestOptions | 
                
                    <optional> | 
            
            
            Sets optional behavior for the token grant | 
- Source:
 
Returns:
    Promise resolving to the token info
- Type
 - Promise.<TokenInfo>
 
getTokensClientCredentialsGrant(optionsopt) → {Promise.<TokenInfo>}
    Acquires token info using the client credentials grant.
    Parameters:
| Name | Type | Attributes | Description | 
|---|---|---|---|
options | 
            
            TokenRequestOptions | 
                
                    <optional> | 
            
            
            Sets optional behavior for the token grant | 
- Source:
 
Returns:
    Promise resolving to the token info
- Type
 - Promise.<TokenInfo>
 
getTokensJWTGrant(type, id, optionsopt) → {Promise.<TokenInfo>}
    Gets tokens for enterprise administration of app users
    Parameters:
| Name | Type | Attributes | Description | 
|---|---|---|---|
type | 
            
            string | The type of token to create, "user" or "enterprise" | |
id | 
            
            string | The ID of the enterprise to generate a token for | |
options | 
            
            TokenRequestOptions | 
                
                    <optional> | 
            
            
            Sets optional behavior for the token grant | 
- Source:
 
Returns:
    Promise resolving to the token info
- Type
 - Promise.<TokenInfo>
 
getTokensJWTGrant(type, id, optionsopt) → {Promise.<TokenInfo>}
    Gets tokens for enterprise administration of app users
    Parameters:
| Name | Type | Attributes | Description | 
|---|---|---|---|
type | 
            
            string | The type of token to create, "user" or "enterprise" | |
id | 
            
            string | The ID of the enterprise to generate a token for | |
options | 
            
            TokenRequestOptions | 
                
                    <optional> | 
            
            
            Sets optional behavior for the token grant | 
- Source:
 
Returns:
    Promise resolving to the token info
- Type
 - Promise.<TokenInfo>
 
getTokensRefreshGrant(refreshToken, optionsopt) → {Promise.<TokenInfo>}
    Refreshes the access and refresh tokens for a given refresh token.
    Parameters:
| Name | Type | Attributes | Description | 
|---|---|---|---|
refreshToken | 
            
            string | A valid OAuth refresh token | |
options | 
            
            TokenRequestOptions | 
                
                    <optional> | 
            
            
            Sets optional behavior for the token grant | 
- Source:
 
Returns:
    Promise resolving to the token info
- Type
 - Promise.<TokenInfo>
 
getTokensRefreshGrant(refreshToken, optionsopt) → {Promise.<TokenInfo>}
    Refreshes the access and refresh tokens for a given refresh token.
    Parameters:
| Name | Type | Attributes | Description | 
|---|---|---|---|
refreshToken | 
            
            string | A valid OAuth refresh token | |
options | 
            
            TokenRequestOptions | 
                
                    <optional> | 
            
            
            Sets optional behavior for the token grant | 
- Source:
 
Returns:
    Promise resolving to the token info
- Type
 - Promise.<TokenInfo>
 
isAccessTokenValid(tokenInfo, bufferMSopt) → {boolean}
    Given a TokenInfo object, returns whether its access token is expired. An access token is considered
expired once its TTL surpasses the current time outside of the given buffer. This is a public method so
that other modules may check the validity of their tokens.
    Parameters:
| Name | Type | Attributes | Description | 
|---|---|---|---|
tokenInfo | 
            
            TokenInfo | the token info to be written | |
bufferMS | 
            
            int | 
                
                    <optional> | 
            
            
            An optional buffer we'd like to test against. The greater this buffer, the more aggressively we'll call a token invalid. | 
- Source:
 
Returns:
    True if token is valid outside of buffer, otherwise false
- Type
 - boolean
 
isAccessTokenValid(tokenInfo, bufferMSopt) → {boolean}
    Given a TokenInfo object, returns whether its access token is expired. An access token is considered
expired once its TTL surpasses the current time outside of the given buffer. This is a public method so
that other modules may check the validity of their tokens.
    Parameters:
| Name | Type | Attributes | Description | 
|---|---|---|---|
tokenInfo | 
            
            TokenInfo | the token info to be written | |
bufferMS | 
            
            int | 
                
                    <optional> | 
            
            
            An optional buffer we'd like to test against. The greater this buffer, the more aggressively we'll call a token invalid. | 
- Source:
 
Returns:
    True if token is valid outside of buffer, otherwise false
- Type
 - boolean
 
retryJWTGrant(claims, jwtOptionsopt, keyParams, params, optionsopt, error, numRetries) → {Promise.<TokenInfo>}
    Attempt a retry if possible and create a new JTI claim. If the request hasn't exceeded it's maximum number of retries,
re-execute the request (after the retry interval). Otherwise, propagate a new error.
    Parameters:
| Name | Type | Attributes | Description | 
|---|---|---|---|
claims | 
            
            Object | JTI claims object | |
jwtOptions | 
            
            Object | 
                
                    <optional> | 
            
            
            JWT options for the signature | 
keyParams | 
            
            Object | Key JWT parameters object that contains the private key and the passphrase | |
params | 
            
            Object | Should contain all params expected by Box OAuth2 token endpoint | |
options | 
            
            TokenRequestOptions | 
                
                    <optional> | 
            
            
            Sets optional behavior for the token grant | 
error | 
            
            Error | Error from the previous JWT request | |
numRetries | 
            
            int | Number of retries attempted | 
- Source:
 
Returns:
    Promise resolving to the token info
- Type
 - Promise.<TokenInfo>
 
retryJWTGrant(claims, jwtOptionsopt, keyParams, params, optionsopt, error, numRetries) → {Promise.<TokenInfo>}
    Attempt a retry if possible and create a new JTI claim. If the request hasn't exceeded it's maximum number of retries,
re-execute the request (after the retry interval). Otherwise, propagate a new error.
    Parameters:
| Name | Type | Attributes | Description | 
|---|---|---|---|
claims | 
            
            Object | JTI claims object | |
jwtOptions | 
            
            Object | 
                
                    <optional> | 
            
            
            JWT options for the signature | 
keyParams | 
            
            Object | Key JWT parameters object that contains the private key and the passphrase | |
params | 
            
            Object | Should contain all params expected by Box OAuth2 token endpoint | |
options | 
            
            TokenRequestOptions | 
                
                    <optional> | 
            
            
            Sets optional behavior for the token grant | 
error | 
            
            Error | Error from the previous JWT request | |
numRetries | 
            
            int | Number of retries attempted | 
- Source:
 
Returns:
    Promise resolving to the token info
- Type
 - Promise.<TokenInfo>
 
revokeTokens(token, optionsopt) → {Promise}
    Revokes a token pair associated with a given access or refresh token.
    Parameters:
| Name | Type | Attributes | Description | 
|---|---|---|---|
token | 
            
            string | A valid access or refresh token to revoke | |
options | 
            
            TokenRequestOptions | 
                
                    <optional> | 
            
            
            Sets optional behavior for the token grant | 
- Source:
 
Returns:
    Promise resolving if the revoke succeeds
- Type
 - Promise
 
revokeTokens(token, optionsopt) → {Promise}
    Revokes a token pair associated with a given access or refresh token.
    Parameters:
| Name | Type | Attributes | Description | 
|---|---|---|---|
token | 
            
            string | A valid access or refresh token to revoke | |
options | 
            
            TokenRequestOptions | 
                
                    <optional> | 
            
            
            Sets optional behavior for the token grant | 
- Source:
 
Returns:
    Promise resolving if the revoke succeeds
- Type
 - Promise