OnBehalfOfUserCredential class
Represent on-behalf-of flow to get user identity, and it is designed to be used in server side.
Example
const credential = new OnBehalfOfUserCredential(ssoToken);
Remarks
Can only be used in server side.
Constructors
On |
Constructor of OnBehalfOfUserCredential |
On |
Constructor of OnBehalfOfUserCredential |
Methods
get |
Get access token from credential. Example
|
get |
Get basic user info from SSO token. Example
|
Constructor Details
OnBehalfOfUserCredential(string, AuthenticationConfiguration)
Constructor of OnBehalfOfUserCredential
new OnBehalfOfUserCredential(ssoToken: string, config: AuthenticationConfiguration)
Parameters
- ssoToken
-
string
User token provided by Teams SSO feature.
- config
- AuthenticationConfiguration
The authentication configuration. Use environment variables if not provided.
Remarks
Only works in in server side.
OnBehalfOfUserCredential(string, OnBehalfOfCredentialAuthConfig)
Constructor of OnBehalfOfUserCredential
new OnBehalfOfUserCredential(ssoToken: string, config: OnBehalfOfCredentialAuthConfig)
Parameters
- ssoToken
-
string
User token provided by Teams SSO feature.
The authentication configuration.
Remarks
Only works in in server side.
Method Details
getToken(string | string[], GetTokenOptions)
Get access token from credential.
Example
await credential.getToken([]) // Get SSO token using empty string array
await credential.getToken("") // Get SSO token using empty string
await credential.getToken([".default"]) // Get Graph access token with default scope using string array
await credential.getToken(".default") // Get Graph access token with default scope using string
await credential.getToken(["User.Read"]) // Get Graph access token for single scope using string array
await credential.getToken("User.Read") // Get Graph access token for single scope using string
await credential.getToken(["User.Read", "Application.Read.All"]) // Get Graph access token for multiple scopes using string array
await credential.getToken("User.Read Application.Read.All") // Get Graph access token for multiple scopes using space-separated string
await credential.getToken("https://graph.microsoft.com/User.Read") // Get Graph access token with full resource URI
await credential.getToken(["https://outlook.office.com/Mail.Read"]) // Get Outlook access token
function getToken(scopes: string | string[], options?: GetTokenOptions): Promise<null | AccessToken>
Parameters
- scopes
-
string | string[]
The list of scopes for which the token will have access.
- options
- GetTokenOptions
The options used to configure any requests this TokenCredential implementation might make.
Returns
Promise<null | AccessToken>
Access token with expected scopes.
Remarks
If scopes is empty string or array, it returns SSO token. If scopes is non-empty, it returns access token for target scope.
getUserInfo()
Get basic user info from SSO token.
Example
const currentUser = getUserInfo();
function getUserInfo(): UserInfo
Returns
Basic user info with user displayName, objectId and preferredUserName.