@microsoft/teams.api
Version:
<p> <a href="https://www.npmjs.com/package/@microsoft/teams.api" target="_blank"> <img src="https://img.shields.io/npm/v/@microsoft/teams.api/latest" /> </a> <a href="https://www.npmjs.com/package/@microsoft/teams.api?activeTab=code" t
1 lines • 5.83 kB
Source Map (JSON)
{"version":3,"sources":["../../../src/clients/user/token.ts"],"names":["HttpClient"],"mappings":"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","file":"token.mjs","sourcesContent":["import qs from 'qs';\n\nimport {\n Client as HttpClient,\n type ClientOptions as HttpClientOptions\n} from '@microsoft/teams.common';\n\nimport { CloudEnvironment } from '../../auth';\nimport { ChannelID, TokenExchangeRequest, TokenResponse, TokenStatus } from '../../models';\nimport { ApiClientSettings, mergeApiClientSettings } from '../api-client-settings';\n\nexport type GetUserTokenParams = {\n userId: string;\n connectionName: string;\n channelId?: ChannelID;\n code?: string;\n};\n\nexport type GetUserAADTokenParams = {\n userId: string;\n connectionName: string;\n resourceUrls: string[];\n channelId: ChannelID;\n};\n\nexport type GetUserTokenStatusParams = {\n userId: string;\n channelId: ChannelID;\n includeFilter: string;\n};\n\nexport type SignOutUserParams = {\n userId: string;\n connectionName: string;\n channelId: ChannelID;\n};\n\nexport type ExchangeUserTokenParams = {\n userId: string;\n connectionName: string;\n channelId: ChannelID;\n exchangeRequest: TokenExchangeRequest;\n};\n\nexport const USER_TOKEN_ENDPOINTS = {\n GET_TOKEN: 'api/usertoken/GetToken',\n GET_AAD_TOKENS: 'api/usertoken/GetAadTokens',\n GET_STATUS: 'api/usertoken/GetTokenStatus',\n SIGN_OUT: 'api/usertoken/SignOut',\n EXCHANGE: 'api/usertoken/exchange',\n};\n\nexport class UserTokenClient {\n get http() {\n return this._http;\n }\n set http(v) {\n this._http = v;\n }\n protected _http: HttpClient;\n protected _apiClientSettings: Partial<ApiClientSettings>;\n\n constructor(options?: HttpClient | HttpClientOptions, apiClientSettings?: Partial<ApiClientSettings>, cloud?: CloudEnvironment) {\n if (!options) {\n this._http = new HttpClient();\n } else if ('request' in options) {\n this._http = options;\n } else {\n this._http = new HttpClient(options);\n }\n\n this._apiClientSettings = mergeApiClientSettings(apiClientSettings, cloud);\n }\n\n async get(params: GetUserTokenParams) {\n const q = qs.stringify(params);\n const res = await this.http.get<TokenResponse>(\n `${this._apiClientSettings.oauthUrl}/${USER_TOKEN_ENDPOINTS.GET_TOKEN}?${q}`\n );\n\n return res.data;\n }\n\n async getAad(params: GetUserAADTokenParams) {\n const q = qs.stringify(params);\n const res = await this.http.post<Record<string, TokenResponse>>(\n `${this._apiClientSettings.oauthUrl}/${USER_TOKEN_ENDPOINTS.GET_AAD_TOKENS}?${q}`,\n params\n );\n\n return res.data;\n }\n\n async getStatus(params: GetUserTokenStatusParams) {\n const q = qs.stringify(params);\n const res = await this.http.get<TokenStatus[]>(\n `${this._apiClientSettings.oauthUrl}/${USER_TOKEN_ENDPOINTS.GET_STATUS}?${q}`\n );\n\n return res.data;\n }\n\n async signOut(params: SignOutUserParams) {\n const q = qs.stringify(params);\n const res = await this.http.delete<void>(\n `${this._apiClientSettings.oauthUrl}/${USER_TOKEN_ENDPOINTS.SIGN_OUT}?${q}`,\n { data: params }\n );\n\n return res.data;\n }\n\n async exchange(params: ExchangeUserTokenParams) {\n const q = qs.stringify({\n userId: params.userId,\n connectionName: params.connectionName,\n channelId: params.channelId,\n });\n\n const res = await this.http.post<TokenResponse>(\n `${this._apiClientSettings.oauthUrl}/${USER_TOKEN_ENDPOINTS.EXCHANGE}?${q}`,\n params.exchangeRequest\n );\n\n return res.data;\n }\n}\n"]}