@azure/communication-identity 1.1.0-beta.2 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -7,7 +7,7 @@ The identity library is used for managing users and tokens for Azure Communicati
7
7
  ### Prerequisites
8
8
 
9
9
  - An [Azure subscription][azure_sub].
10
- - An existing Communication Services resource. If you need to create the resource, you can use the [Azure Portal][azure_portal], the[Azure PowerShell][azure_powershell], or the [Azure CLI][azure_cli].
10
+ - An existing Communication Services resource. If you need to create the resource, you can use the [Azure Portal][azure_portal], the [Azure PowerShell][azure_powershell], or the [Azure CLI][azure_cli].
11
11
 
12
12
  ### Installing
13
13
 
@@ -123,12 +123,16 @@ Use the `deleteUser` method to delete a user.
123
123
  await client.deleteUser(user);
124
124
  ```
125
125
 
126
- ### Exchanging AAD access token of a Teams User for a Communication access token
126
+ ### Exchanging Azure AD access token of a Teams User for a Communication access token
127
127
 
128
- Use `getTokenForTeamsUser` method to exchange an AAD access token of a Teams user for a new `CommunicationAccessToken` with a matching expiration time.
128
+ Use `getTokenForTeamsUser` method to exchange an Azure AD access token of a Teams user for a new `CommunicationAccessToken` with a matching expiration time.
129
129
 
130
130
  ```typescript
131
- await client.getTokenForTeamsUser('<aad-access-token-of-a-teams-user>');
131
+ await client.getTokenForTeamsUser({
132
+ teamsUserAadToken: "<aad-access-token-of-a-teams-user>",
133
+ clientId: "<cliend-id-of-an-aad-application>",
134
+ userObjectId: "<aad-object-id-of-a-teams-user>",
135
+ });
132
136
  ```
133
137
 
134
138
  ## Troubleshooting
package/dist/index.js CHANGED
@@ -177,10 +177,10 @@ const CommunicationError = {
177
177
  }
178
178
  }
179
179
  };
180
- const TeamsUserAccessTokenRequest = {
180
+ const TeamsUserExchangeTokenRequest = {
181
181
  type: {
182
182
  name: "Composite",
183
- className: "TeamsUserAccessTokenRequest",
183
+ className: "TeamsUserExchangeTokenRequest",
184
184
  modelProperties: {
185
185
  token: {
186
186
  serializedName: "token",
@@ -188,6 +188,20 @@ const TeamsUserAccessTokenRequest = {
188
188
  type: {
189
189
  name: "String"
190
190
  }
191
+ },
192
+ appId: {
193
+ serializedName: "appId",
194
+ required: true,
195
+ type: {
196
+ name: "String"
197
+ }
198
+ },
199
+ userId: {
200
+ serializedName: "userId",
201
+ required: true,
202
+ type: {
203
+ name: "String"
204
+ }
191
205
  }
192
206
  }
193
207
  }
@@ -221,7 +235,7 @@ var Mappers = /*#__PURE__*/Object.freeze({
221
235
  CommunicationIdentityAccessToken: CommunicationIdentityAccessToken,
222
236
  CommunicationErrorResponse: CommunicationErrorResponse,
223
237
  CommunicationError: CommunicationError,
224
- TeamsUserAccessTokenRequest: TeamsUserAccessTokenRequest,
238
+ TeamsUserExchangeTokenRequest: TeamsUserExchangeTokenRequest,
225
239
  CommunicationIdentityAccessTokenRequest: CommunicationIdentityAccessTokenRequest
226
240
  });
227
241
 
@@ -268,7 +282,7 @@ const endpoint = {
268
282
  const apiVersion = {
269
283
  parameterPath: "apiVersion",
270
284
  mapper: {
271
- defaultValue: "2021-10-31-preview",
285
+ defaultValue: "2022-06-01",
272
286
  isConstant: true,
273
287
  serializedName: "api-version",
274
288
  type: {
@@ -327,13 +341,18 @@ class CommunicationIdentityOperationsImpl {
327
341
  return this.client.sendOperationRequest({ id, options }, revokeAccessTokensOperationSpec);
328
342
  }
329
343
  /**
330
- * Exchange an AAD access token of a Teams user for a new Communication Identity access token with a
331
- * matching expiration time.
332
- * @param token AAD access token of a Teams User to acquire a new Communication Identity access token.
344
+ * Exchange an Azure Active Directory (Azure AD) access token of a Teams user for a new Communication
345
+ * Identity access token with a matching expiration time.
346
+ * @param token Azure AD access token of a Teams User to acquire a new Communication Identity access
347
+ * token.
348
+ * @param appId Client ID of an Azure AD application to be verified against the appid claim in the
349
+ * Azure AD access token.
350
+ * @param userId Object ID of an Azure AD user (Teams User) to be verified against the oid claim in the
351
+ * Azure AD access token.
333
352
  * @param options The options parameters.
334
353
  */
335
- exchangeTeamsUserAccessToken(token, options) {
336
- return this.client.sendOperationRequest({ token, options }, exchangeTeamsUserAccessTokenOperationSpec);
354
+ exchangeTeamsUserAccessToken(token, appId, userId, options) {
355
+ return this.client.sendOperationRequest({ token, appId, userId, options }, exchangeTeamsUserAccessTokenOperationSpec);
337
356
  }
338
357
  /**
339
358
  * Issue a new token for an identity.
@@ -410,8 +429,8 @@ const exchangeTeamsUserAccessTokenOperationSpec = {
410
429
  }
411
430
  },
412
431
  requestBody: {
413
- parameterPath: { token: ["token"] },
414
- mapper: Object.assign(Object.assign({}, TeamsUserAccessTokenRequest), { required: true })
432
+ parameterPath: { token: ["token"], appId: ["appId"], userId: ["userId"] },
433
+ mapper: Object.assign(Object.assign({}, TeamsUserExchangeTokenRequest), { required: true })
415
434
  },
416
435
  queryParameters: [apiVersion],
417
436
  urlParameters: [endpoint],
@@ -465,7 +484,7 @@ class IdentityRestClientContext extends coreClient__namespace.ServiceClient {
465
484
  const defaults = {
466
485
  requestContentType: "application/json; charset=utf-8"
467
486
  };
468
- const packageDetails = `azsdk-js-communication-identity/1.1.0-beta.2`;
487
+ const packageDetails = `azsdk-js-communication-identity/1.1.0`;
469
488
  const userAgentPrefix = options.userAgentOptions && options.userAgentOptions.userAgentPrefix
470
489
  ? `${options.userAgentOptions.userAgentPrefix} ${packageDetails}`
471
490
  : `${packageDetails}`;
@@ -476,7 +495,7 @@ class IdentityRestClientContext extends coreClient__namespace.ServiceClient {
476
495
  // Parameter assignments
477
496
  this.endpoint = endpoint;
478
497
  // Assigning values to Constant parameters
479
- this.apiVersion = options.apiVersion || "2021-10-31-preview";
498
+ this.apiVersion = options.apiVersion || "2022-06-01";
480
499
  }
481
500
  }
482
501
 
@@ -650,15 +669,15 @@ class CommunicationIdentityClient {
650
669
  }
651
670
  }
652
671
  /**
653
- * Exchanges an AAD access token of a Teams user for a new Communication Identity access token with a matching expiration time.
672
+ * Exchanges an Azure AD access token of a Teams user for a new Communication Identity access token with a matching expiration time.
654
673
  *
655
- * @param teamsToken - AAD access token of a Teams user.
656
- * @param options - Additional options for the request.
674
+ * @param options - Options used to exchange an Azure AD access token of a Teams user for a new Communication Identity access token.
657
675
  */
658
- async getTokenForTeamsUser(teamsUserAadToken, options = {}) {
676
+ async getTokenForTeamsUser(options) {
659
677
  const { span, updatedOptions } = createSpan("CommunicationIdentity-getTokenForTeamsUser", options);
678
+ const { teamsUserAadToken, clientId, userObjectId } = options;
660
679
  try {
661
- return await this.client.communicationIdentityOperations.exchangeTeamsUserAccessToken(teamsUserAadToken, updatedOptions);
680
+ return await this.client.communicationIdentityOperations.exchangeTeamsUserAccessToken(teamsUserAadToken, clientId, userObjectId, updatedOptions);
662
681
  }
663
682
  catch (e) {
664
683
  span.setStatus({
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/generated/src/models/mappers.ts","../src/generated/src/models/parameters.ts","../src/generated/src/operations/communicationIdentityOperations.ts","../src/generated/src/identityRestClientContext.ts","../src/generated/src/identityRestClient.ts","../src/common/tracing.ts","../src/common/logger.ts","../src/communicationIdentityClient.ts"],"sourcesContent":["/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport * as coreClient from \"@azure/core-client\";\n\nexport const CommunicationIdentityCreateRequest: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"CommunicationIdentityCreateRequest\",\n modelProperties: {\n createTokenWithScopes: {\n serializedName: \"createTokenWithScopes\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"String\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const CommunicationIdentityAccessTokenResult: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"CommunicationIdentityAccessTokenResult\",\n modelProperties: {\n identity: {\n serializedName: \"identity\",\n type: {\n name: \"Composite\",\n className: \"CommunicationIdentity\"\n }\n },\n accessToken: {\n serializedName: \"accessToken\",\n type: {\n name: \"Composite\",\n className: \"CommunicationIdentityAccessToken\"\n }\n }\n }\n }\n};\n\nexport const CommunicationIdentity: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"CommunicationIdentity\",\n modelProperties: {\n id: {\n serializedName: \"id\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const CommunicationIdentityAccessToken: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"CommunicationIdentityAccessToken\",\n modelProperties: {\n token: {\n serializedName: \"token\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n expiresOn: {\n serializedName: \"expiresOn\",\n required: true,\n type: {\n name: \"DateTime\"\n }\n }\n }\n }\n};\n\nexport const CommunicationErrorResponse: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"CommunicationErrorResponse\",\n modelProperties: {\n error: {\n serializedName: \"error\",\n type: {\n name: \"Composite\",\n className: \"CommunicationError\"\n }\n }\n }\n }\n};\n\nexport const CommunicationError: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"CommunicationError\",\n modelProperties: {\n code: {\n serializedName: \"code\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n message: {\n serializedName: \"message\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n target: {\n serializedName: \"target\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n details: {\n serializedName: \"details\",\n readOnly: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"CommunicationError\"\n }\n }\n }\n },\n innerError: {\n serializedName: \"innererror\",\n type: {\n name: \"Composite\",\n className: \"CommunicationError\"\n }\n }\n }\n }\n};\n\nexport const TeamsUserAccessTokenRequest: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"TeamsUserAccessTokenRequest\",\n modelProperties: {\n token: {\n serializedName: \"token\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const CommunicationIdentityAccessTokenRequest: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"CommunicationIdentityAccessTokenRequest\",\n modelProperties: {\n scopes: {\n serializedName: \"scopes\",\n required: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"String\"\n }\n }\n }\n }\n }\n }\n};\n","/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport {\n OperationParameter,\n OperationURLParameter,\n OperationQueryParameter\n} from \"@azure/core-client\";\nimport {\n CommunicationIdentityCreateRequest as CommunicationIdentityCreateRequestMapper,\n TeamsUserAccessTokenRequest as TeamsUserAccessTokenRequestMapper,\n CommunicationIdentityAccessTokenRequest as CommunicationIdentityAccessTokenRequestMapper\n} from \"../models/mappers\";\n\nexport const contentType: OperationParameter = {\n parameterPath: [\"options\", \"contentType\"],\n mapper: {\n defaultValue: \"application/json\",\n isConstant: true,\n serializedName: \"Content-Type\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const accept: OperationParameter = {\n parameterPath: \"accept\",\n mapper: {\n defaultValue: \"application/json\",\n isConstant: true,\n serializedName: \"Accept\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const createTokenWithScopes: OperationParameter = {\n parameterPath: [\"options\", \"createTokenWithScopes\"],\n mapper: CommunicationIdentityCreateRequestMapper\n};\n\nexport const endpoint: OperationURLParameter = {\n parameterPath: \"endpoint\",\n mapper: {\n serializedName: \"endpoint\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n skipEncoding: true\n};\n\nexport const apiVersion: OperationQueryParameter = {\n parameterPath: \"apiVersion\",\n mapper: {\n defaultValue: \"2021-10-31-preview\",\n isConstant: true,\n serializedName: \"api-version\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const id: OperationURLParameter = {\n parameterPath: \"id\",\n mapper: {\n serializedName: \"id\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const token: OperationParameter = {\n parameterPath: \"token\",\n mapper: TeamsUserAccessTokenRequestMapper\n};\n\nexport const scopes: OperationParameter = {\n parameterPath: \"scopes\",\n mapper: CommunicationIdentityAccessTokenRequestMapper\n};\n","/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport { CommunicationIdentityOperations } from \"../operationsInterfaces\";\nimport * as coreClient from \"@azure/core-client\";\nimport * as Mappers from \"../models/mappers\";\nimport * as Parameters from \"../models/parameters\";\nimport { IdentityRestClientContext } from \"../identityRestClientContext\";\nimport {\n CommunicationIdentityCreateOptionalParams,\n CommunicationIdentityCreateResponse,\n CommunicationIdentityDeleteOptionalParams,\n CommunicationIdentityRevokeAccessTokensOptionalParams,\n CommunicationIdentityExchangeTeamsUserAccessTokenOptionalParams,\n CommunicationIdentityExchangeTeamsUserAccessTokenResponse,\n CommunicationIdentityTokenScope,\n CommunicationIdentityIssueAccessTokenOptionalParams,\n CommunicationIdentityIssueAccessTokenResponse\n} from \"../models\";\n\n/** Class containing CommunicationIdentityOperations operations. */\nexport class CommunicationIdentityOperationsImpl\n implements CommunicationIdentityOperations {\n private readonly client: IdentityRestClientContext;\n\n /**\n * Initialize a new instance of the class CommunicationIdentityOperations class.\n * @param client Reference to the service client\n */\n constructor(client: IdentityRestClientContext) {\n this.client = client;\n }\n\n /**\n * Create a new identity, and optionally, an access token.\n * @param options The options parameters.\n */\n create(\n options?: CommunicationIdentityCreateOptionalParams\n ): Promise<CommunicationIdentityCreateResponse> {\n return this.client.sendOperationRequest({ options }, createOperationSpec);\n }\n\n /**\n * Delete the identity, revoke all tokens for the identity and delete all associated data.\n * @param id Identifier of the identity to be deleted.\n * @param options The options parameters.\n */\n delete(\n id: string,\n options?: CommunicationIdentityDeleteOptionalParams\n ): Promise<void> {\n return this.client.sendOperationRequest(\n { id, options },\n deleteOperationSpec\n );\n }\n\n /**\n * Revoke all access tokens for the specific identity.\n * @param id Identifier of the identity.\n * @param options The options parameters.\n */\n revokeAccessTokens(\n id: string,\n options?: CommunicationIdentityRevokeAccessTokensOptionalParams\n ): Promise<void> {\n return this.client.sendOperationRequest(\n { id, options },\n revokeAccessTokensOperationSpec\n );\n }\n\n /**\n * Exchange an AAD access token of a Teams user for a new Communication Identity access token with a\n * matching expiration time.\n * @param token AAD access token of a Teams User to acquire a new Communication Identity access token.\n * @param options The options parameters.\n */\n exchangeTeamsUserAccessToken(\n token: string,\n options?: CommunicationIdentityExchangeTeamsUserAccessTokenOptionalParams\n ): Promise<CommunicationIdentityExchangeTeamsUserAccessTokenResponse> {\n return this.client.sendOperationRequest(\n { token, options },\n exchangeTeamsUserAccessTokenOperationSpec\n );\n }\n\n /**\n * Issue a new token for an identity.\n * @param id Identifier of the identity to issue token for.\n * @param scopes List of scopes attached to the token.\n * @param options The options parameters.\n */\n issueAccessToken(\n id: string,\n scopes: CommunicationIdentityTokenScope[],\n options?: CommunicationIdentityIssueAccessTokenOptionalParams\n ): Promise<CommunicationIdentityIssueAccessTokenResponse> {\n return this.client.sendOperationRequest(\n { id, scopes, options },\n issueAccessTokenOperationSpec\n );\n }\n}\n// Operation Specifications\nconst serializer = coreClient.createSerializer(Mappers, /* isXml */ false);\n\nconst createOperationSpec: coreClient.OperationSpec = {\n path: \"/identities\",\n httpMethod: \"POST\",\n responses: {\n 201: {\n bodyMapper: Mappers.CommunicationIdentityAccessTokenResult\n },\n default: {\n bodyMapper: Mappers.CommunicationErrorResponse\n }\n },\n requestBody: {\n parameterPath: {\n createTokenWithScopes: [\"options\", \"createTokenWithScopes\"]\n },\n mapper: Mappers.CommunicationIdentityCreateRequest\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.endpoint],\n headerParameters: [Parameters.contentType, Parameters.accept],\n mediaType: \"json\",\n serializer\n};\nconst deleteOperationSpec: coreClient.OperationSpec = {\n path: \"/identities/{id}\",\n httpMethod: \"DELETE\",\n responses: {\n 204: {},\n default: {\n bodyMapper: Mappers.CommunicationErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.endpoint, Parameters.id],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst revokeAccessTokensOperationSpec: coreClient.OperationSpec = {\n path: \"/identities/{id}/:revokeAccessTokens\",\n httpMethod: \"POST\",\n responses: {\n 204: {},\n default: {\n bodyMapper: Mappers.CommunicationErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.endpoint, Parameters.id],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst exchangeTeamsUserAccessTokenOperationSpec: coreClient.OperationSpec = {\n path: \"/teamsUser/:exchangeAccessToken\",\n httpMethod: \"POST\",\n responses: {\n 200: {\n bodyMapper: Mappers.CommunicationIdentityAccessToken\n },\n default: {\n bodyMapper: Mappers.CommunicationErrorResponse\n }\n },\n requestBody: {\n parameterPath: { token: [\"token\"] },\n mapper: { ...Mappers.TeamsUserAccessTokenRequest, required: true }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.endpoint],\n headerParameters: [Parameters.contentType, Parameters.accept],\n mediaType: \"json\",\n serializer\n};\nconst issueAccessTokenOperationSpec: coreClient.OperationSpec = {\n path: \"/identities/{id}/:issueAccessToken\",\n httpMethod: \"POST\",\n responses: {\n 200: {\n bodyMapper: Mappers.CommunicationIdentityAccessToken\n },\n default: {\n bodyMapper: Mappers.CommunicationErrorResponse\n }\n },\n requestBody: {\n parameterPath: { scopes: [\"scopes\"] },\n mapper: {\n ...Mappers.CommunicationIdentityAccessTokenRequest,\n required: true\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.endpoint, Parameters.id],\n headerParameters: [Parameters.contentType, Parameters.accept],\n mediaType: \"json\",\n serializer\n};\n","/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport * as coreClient from \"@azure/core-client\";\nimport { IdentityRestClientOptionalParams } from \"./models\";\n\nexport class IdentityRestClientContext extends coreClient.ServiceClient {\n endpoint: string;\n apiVersion: string;\n\n /**\n * Initializes a new instance of the IdentityRestClientContext class.\n * @param endpoint The communication resource, for example https://my-resource.communication.azure.com\n * @param options The parameter options\n */\n constructor(endpoint: string, options?: IdentityRestClientOptionalParams) {\n if (endpoint === undefined) {\n throw new Error(\"'endpoint' cannot be null\");\n }\n\n // Initializing default values for options\n if (!options) {\n options = {};\n }\n const defaults: IdentityRestClientOptionalParams = {\n requestContentType: \"application/json; charset=utf-8\"\n };\n\n const packageDetails = `azsdk-js-communication-identity/1.1.0-beta.2`;\n const userAgentPrefix =\n options.userAgentOptions && options.userAgentOptions.userAgentPrefix\n ? `${options.userAgentOptions.userAgentPrefix} ${packageDetails}`\n : `${packageDetails}`;\n\n const optionsWithDefaults = {\n ...defaults,\n ...options,\n userAgentOptions: {\n userAgentPrefix\n },\n baseUri: options.endpoint || \"{endpoint}\"\n };\n super(optionsWithDefaults);\n // Parameter assignments\n this.endpoint = endpoint;\n\n // Assigning values to Constant parameters\n this.apiVersion = options.apiVersion || \"2021-10-31-preview\";\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport { CommunicationIdentityOperationsImpl } from \"./operations\";\nimport { CommunicationIdentityOperations } from \"./operationsInterfaces\";\nimport { IdentityRestClientContext } from \"./identityRestClientContext\";\nimport { IdentityRestClientOptionalParams } from \"./models\";\n\nexport class IdentityRestClient extends IdentityRestClientContext {\n /**\n * Initializes a new instance of the IdentityRestClient class.\n * @param endpoint The communication resource, for example https://my-resource.communication.azure.com\n * @param options The parameter options\n */\n constructor(endpoint: string, options?: IdentityRestClientOptionalParams) {\n super(endpoint, options);\n this.communicationIdentityOperations = new CommunicationIdentityOperationsImpl(\n this\n );\n }\n\n communicationIdentityOperations: CommunicationIdentityOperations;\n}\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { createSpanFunction } from \"@azure/core-tracing\";\n\n/**\n * Creates a span using the global tracer.\n * @internal\n */\nexport const createSpan = createSpanFunction({\n packagePrefix: \"Azure.Communication\",\n namespace: \"Microsoft.Communication\",\n});\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { createClientLogger } from \"@azure/logger\";\n\n/**\n * The \\@azure/logger configuration for this package.\n */\nexport const logger = createClientLogger(\"communication-identity\");\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport {\n CommunicationAccessToken,\n CommunicationIdentityClientOptions,\n CommunicationUserToken,\n TokenScope,\n} from \"./models\";\nimport {\n CommunicationUserIdentifier,\n createCommunicationAuthPolicy,\n isKeyCredential,\n parseClientArguments,\n} from \"@azure/communication-common\";\nimport { InternalClientPipelineOptions, OperationOptions } from \"@azure/core-client\";\nimport { KeyCredential, TokenCredential, isTokenCredential } from \"@azure/core-auth\";\nimport { IdentityRestClient } from \"./generated/src/identityRestClient\";\nimport { SpanStatusCode } from \"@azure/core-tracing\";\nimport { createSpan } from \"./common/tracing\";\nimport { logger } from \"./common/logger\";\n\nconst isCommunicationIdentityClientOptions = (\n options: any\n): options is CommunicationIdentityClientOptions =>\n options && !isTokenCredential(options) && !isKeyCredential(options);\n\n/**\n * Client class for interacting with Azure Communication Services User Token Management.\n */\nexport class CommunicationIdentityClient {\n /**\n * A reference to the auto-generated UserToken HTTP client.\n */\n private readonly client: IdentityRestClient;\n\n /**\n * Initializes a new instance of the CommunicationIdentity class.\n * @param connectionString - Connection string to connect to an Azure Communication Service resource.\n * Example: \"endpoint=https://contoso.eastus.communications.azure.net/;accesskey=secret\";\n * @param options - Optional. Options to configure the HTTP pipeline.\n */\n public constructor(connectionString: string, options?: CommunicationIdentityClientOptions);\n\n /**\n * Initializes a new instance of the CommunicationIdentity class using an Azure KeyCredential.\n * @param endpoint - The endpoint of the service (ex: https://contoso.eastus.communications.azure.net).\n * @param credential - An object that is used to authenticate requests to the service. Use the AzureKeyCredential or `@azure/identity` to create a credential.\n * @param options - Optional. Options to configure the HTTP pipeline.\n */\n public constructor(\n endpoint: string,\n credential: KeyCredential,\n options?: CommunicationIdentityClientOptions\n );\n /**\n * Initializes a new instance of the CommunicationIdentity class using a TokenCredential.\n * @param endpoint - The endpoint of the service (ex: https://contoso.eastus.communications.azure.net)\n * @param credential - TokenCredential that is used to authenticate requests to the service.\n * @param options - Optional. Options to configure the HTTP pipeline.\n */\n public constructor(\n endpoint: string,\n credential: TokenCredential,\n options?: CommunicationIdentityClientOptions\n );\n\n public constructor(\n connectionStringOrEndpoint: string,\n credentialOrOptions?: KeyCredential | CommunicationIdentityClientOptions | TokenCredential,\n maybeOptions: CommunicationIdentityClientOptions = {}\n ) {\n const { url, credential } = parseClientArguments(\n connectionStringOrEndpoint,\n credentialOrOptions\n );\n const options = isCommunicationIdentityClientOptions(credentialOrOptions)\n ? credentialOrOptions\n : maybeOptions;\n\n const internalPipelineOptions: InternalClientPipelineOptions = {\n ...options,\n ...{\n loggingOptions: {\n logger: logger.info,\n },\n },\n };\n\n this.client = new IdentityRestClient(url, { endpoint: url, ...internalPipelineOptions });\n\n const authPolicy = createCommunicationAuthPolicy(credential);\n this.client.pipeline.addPolicy(authPolicy);\n }\n\n /**\n * Creates a scoped user token.\n *\n * @param user - The user whose tokens are being issued.\n * @param scopes - Scopes to include in the token.\n * @param options - Additional options for the request.\n */\n public async getToken(\n user: CommunicationUserIdentifier,\n scopes: TokenScope[],\n options: OperationOptions = {}\n ): Promise<CommunicationAccessToken> {\n const { span, updatedOptions } = createSpan(\"CommunicationIdentity-issueToken\", options);\n try {\n return await this.client.communicationIdentityOperations.issueAccessToken(\n user.communicationUserId,\n scopes,\n updatedOptions\n );\n } catch (e) {\n span.setStatus({\n code: SpanStatusCode.ERROR,\n message: e.message,\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Revokes all data and tokens created for a user.\n *\n * @param user - The user whose tokens are being revoked.\n * @param options - Additional options for the request.\n */\n public async revokeTokens(\n user: CommunicationUserIdentifier,\n options: OperationOptions = {}\n ): Promise<void> {\n const { span, updatedOptions } = createSpan(\"CommunicationIdentity-revokeTokens\", options);\n try {\n await this.client.communicationIdentityOperations.revokeAccessTokens(\n user.communicationUserId,\n updatedOptions\n );\n } catch (e) {\n span.setStatus({\n code: SpanStatusCode.ERROR,\n message: e.message,\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Creates a single user.\n *\n * @param options - Additional options for the request.\n */\n public async createUser(options: OperationOptions = {}): Promise<CommunicationUserIdentifier> {\n const { span, updatedOptions } = createSpan(\"CommunicationIdentity-createUser\", options);\n try {\n const result = await this.client.communicationIdentityOperations.create(updatedOptions);\n return {\n communicationUserId: result.identity.id,\n };\n } catch (e) {\n span.setStatus({\n code: SpanStatusCode.ERROR,\n message: e.message,\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Creates a single user and a token simultaneously.\n *\n * @param scopes - Scopes to include in the token.\n * @param options - Additional options for the request.\n */\n public async createUserAndToken(\n scopes: TokenScope[],\n options: OperationOptions = {}\n ): Promise<CommunicationUserToken> {\n const { span, updatedOptions } = createSpan(\n \"CommunicationIdentity-createUserAndToken\",\n options\n );\n try {\n const { identity, accessToken } = await this.client.communicationIdentityOperations.create({\n createTokenWithScopes: scopes,\n ...updatedOptions,\n });\n return {\n ...accessToken!,\n user: { communicationUserId: identity.id },\n };\n } catch (e) {\n span.setStatus({\n code: SpanStatusCode.ERROR,\n message: e.message,\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Triggers revocation event for user and deletes all its data.\n *\n * @param user - The user being deleted.\n * @param options - Additional options for the request.\n */\n public async deleteUser(\n user: CommunicationUserIdentifier,\n options: OperationOptions = {}\n ): Promise<void> {\n const { span, updatedOptions } = createSpan(\"CommunicationIdentity-deleteUser\", options);\n try {\n await this.client.communicationIdentityOperations.delete(\n user.communicationUserId,\n updatedOptions\n );\n } catch (e) {\n span.setStatus({\n code: SpanStatusCode.ERROR,\n message: e.message,\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Exchanges an AAD access token of a Teams user for a new Communication Identity access token with a matching expiration time.\n *\n * @param teamsToken - AAD access token of a Teams user.\n * @param options - Additional options for the request.\n */\n public async getTokenForTeamsUser(\n teamsUserAadToken: string,\n options: OperationOptions = {}\n ): Promise<CommunicationAccessToken> {\n const { span, updatedOptions } = createSpan(\n \"CommunicationIdentity-getTokenForTeamsUser\",\n options\n );\n try {\n return await this.client.communicationIdentityOperations.exchangeTeamsUserAccessToken(\n teamsUserAadToken,\n updatedOptions\n );\n } catch (e) {\n span.setStatus({\n code: SpanStatusCode.ERROR,\n message: e.message,\n });\n throw e;\n } finally {\n span.end();\n }\n }\n}\n"],"names":["coreClient","Mappers.CommunicationIdentityAccessTokenResult","Mappers.CommunicationErrorResponse","Mappers.CommunicationIdentityCreateRequest","Parameters.apiVersion","Parameters.endpoint","Parameters.contentType","Parameters.accept","Parameters.id","Mappers.CommunicationIdentityAccessToken","Mappers.TeamsUserAccessTokenRequest","Mappers.CommunicationIdentityAccessTokenRequest","createSpanFunction","createClientLogger","isTokenCredential","isKeyCredential","parseClientArguments","createCommunicationAuthPolicy","SpanStatusCode"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../src/generated/src/models/mappers.ts","../src/generated/src/models/parameters.ts","../src/generated/src/operations/communicationIdentityOperations.ts","../src/generated/src/identityRestClientContext.ts","../src/generated/src/identityRestClient.ts","../src/common/tracing.ts","../src/common/logger.ts","../src/communicationIdentityClient.ts"],"sourcesContent":["/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport * as coreClient from \"@azure/core-client\";\n\nexport const CommunicationIdentityCreateRequest: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"CommunicationIdentityCreateRequest\",\n modelProperties: {\n createTokenWithScopes: {\n serializedName: \"createTokenWithScopes\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"String\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const CommunicationIdentityAccessTokenResult: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"CommunicationIdentityAccessTokenResult\",\n modelProperties: {\n identity: {\n serializedName: \"identity\",\n type: {\n name: \"Composite\",\n className: \"CommunicationIdentity\"\n }\n },\n accessToken: {\n serializedName: \"accessToken\",\n type: {\n name: \"Composite\",\n className: \"CommunicationIdentityAccessToken\"\n }\n }\n }\n }\n};\n\nexport const CommunicationIdentity: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"CommunicationIdentity\",\n modelProperties: {\n id: {\n serializedName: \"id\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const CommunicationIdentityAccessToken: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"CommunicationIdentityAccessToken\",\n modelProperties: {\n token: {\n serializedName: \"token\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n expiresOn: {\n serializedName: \"expiresOn\",\n required: true,\n type: {\n name: \"DateTime\"\n }\n }\n }\n }\n};\n\nexport const CommunicationErrorResponse: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"CommunicationErrorResponse\",\n modelProperties: {\n error: {\n serializedName: \"error\",\n type: {\n name: \"Composite\",\n className: \"CommunicationError\"\n }\n }\n }\n }\n};\n\nexport const CommunicationError: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"CommunicationError\",\n modelProperties: {\n code: {\n serializedName: \"code\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n message: {\n serializedName: \"message\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n target: {\n serializedName: \"target\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n details: {\n serializedName: \"details\",\n readOnly: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"CommunicationError\"\n }\n }\n }\n },\n innerError: {\n serializedName: \"innererror\",\n type: {\n name: \"Composite\",\n className: \"CommunicationError\"\n }\n }\n }\n }\n};\n\nexport const TeamsUserExchangeTokenRequest: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"TeamsUserExchangeTokenRequest\",\n modelProperties: {\n token: {\n serializedName: \"token\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n appId: {\n serializedName: \"appId\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n userId: {\n serializedName: \"userId\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const CommunicationIdentityAccessTokenRequest: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"CommunicationIdentityAccessTokenRequest\",\n modelProperties: {\n scopes: {\n serializedName: \"scopes\",\n required: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"String\"\n }\n }\n }\n }\n }\n }\n};\n","/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport {\n OperationParameter,\n OperationURLParameter,\n OperationQueryParameter\n} from \"@azure/core-client\";\nimport {\n CommunicationIdentityCreateRequest as CommunicationIdentityCreateRequestMapper,\n TeamsUserExchangeTokenRequest as TeamsUserExchangeTokenRequestMapper,\n CommunicationIdentityAccessTokenRequest as CommunicationIdentityAccessTokenRequestMapper\n} from \"../models/mappers\";\n\nexport const contentType: OperationParameter = {\n parameterPath: [\"options\", \"contentType\"],\n mapper: {\n defaultValue: \"application/json\",\n isConstant: true,\n serializedName: \"Content-Type\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const accept: OperationParameter = {\n parameterPath: \"accept\",\n mapper: {\n defaultValue: \"application/json\",\n isConstant: true,\n serializedName: \"Accept\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const createTokenWithScopes: OperationParameter = {\n parameterPath: [\"options\", \"createTokenWithScopes\"],\n mapper: CommunicationIdentityCreateRequestMapper\n};\n\nexport const endpoint: OperationURLParameter = {\n parameterPath: \"endpoint\",\n mapper: {\n serializedName: \"endpoint\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n skipEncoding: true\n};\n\nexport const apiVersion: OperationQueryParameter = {\n parameterPath: \"apiVersion\",\n mapper: {\n defaultValue: \"2022-06-01\",\n isConstant: true,\n serializedName: \"api-version\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const id: OperationURLParameter = {\n parameterPath: \"id\",\n mapper: {\n serializedName: \"id\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const token: OperationParameter = {\n parameterPath: \"token\",\n mapper: TeamsUserExchangeTokenRequestMapper\n};\n\nexport const appId: OperationParameter = {\n parameterPath: \"appId\",\n mapper: TeamsUserExchangeTokenRequestMapper\n};\n\nexport const userId: OperationParameter = {\n parameterPath: \"userId\",\n mapper: TeamsUserExchangeTokenRequestMapper\n};\n\nexport const scopes: OperationParameter = {\n parameterPath: \"scopes\",\n mapper: CommunicationIdentityAccessTokenRequestMapper\n};\n","/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport { CommunicationIdentityOperations } from \"../operationsInterfaces\";\nimport * as coreClient from \"@azure/core-client\";\nimport * as Mappers from \"../models/mappers\";\nimport * as Parameters from \"../models/parameters\";\nimport { IdentityRestClientContext } from \"../identityRestClientContext\";\nimport {\n CommunicationIdentityCreateOptionalParams,\n CommunicationIdentityCreateResponse,\n CommunicationIdentityDeleteOptionalParams,\n CommunicationIdentityRevokeAccessTokensOptionalParams,\n CommunicationIdentityExchangeTeamsUserAccessTokenOptionalParams,\n CommunicationIdentityExchangeTeamsUserAccessTokenResponse,\n CommunicationIdentityTokenScope,\n CommunicationIdentityIssueAccessTokenOptionalParams,\n CommunicationIdentityIssueAccessTokenResponse\n} from \"../models\";\n\n/** Class containing CommunicationIdentityOperations operations. */\nexport class CommunicationIdentityOperationsImpl\n implements CommunicationIdentityOperations {\n private readonly client: IdentityRestClientContext;\n\n /**\n * Initialize a new instance of the class CommunicationIdentityOperations class.\n * @param client Reference to the service client\n */\n constructor(client: IdentityRestClientContext) {\n this.client = client;\n }\n\n /**\n * Create a new identity, and optionally, an access token.\n * @param options The options parameters.\n */\n create(\n options?: CommunicationIdentityCreateOptionalParams\n ): Promise<CommunicationIdentityCreateResponse> {\n return this.client.sendOperationRequest({ options }, createOperationSpec);\n }\n\n /**\n * Delete the identity, revoke all tokens for the identity and delete all associated data.\n * @param id Identifier of the identity to be deleted.\n * @param options The options parameters.\n */\n delete(\n id: string,\n options?: CommunicationIdentityDeleteOptionalParams\n ): Promise<void> {\n return this.client.sendOperationRequest(\n { id, options },\n deleteOperationSpec\n );\n }\n\n /**\n * Revoke all access tokens for the specific identity.\n * @param id Identifier of the identity.\n * @param options The options parameters.\n */\n revokeAccessTokens(\n id: string,\n options?: CommunicationIdentityRevokeAccessTokensOptionalParams\n ): Promise<void> {\n return this.client.sendOperationRequest(\n { id, options },\n revokeAccessTokensOperationSpec\n );\n }\n\n /**\n * Exchange an Azure Active Directory (Azure AD) access token of a Teams user for a new Communication\n * Identity access token with a matching expiration time.\n * @param token Azure AD access token of a Teams User to acquire a new Communication Identity access\n * token.\n * @param appId Client ID of an Azure AD application to be verified against the appid claim in the\n * Azure AD access token.\n * @param userId Object ID of an Azure AD user (Teams User) to be verified against the oid claim in the\n * Azure AD access token.\n * @param options The options parameters.\n */\n exchangeTeamsUserAccessToken(\n token: string,\n appId: string,\n userId: string,\n options?: CommunicationIdentityExchangeTeamsUserAccessTokenOptionalParams\n ): Promise<CommunicationIdentityExchangeTeamsUserAccessTokenResponse> {\n return this.client.sendOperationRequest(\n { token, appId, userId, options },\n exchangeTeamsUserAccessTokenOperationSpec\n );\n }\n\n /**\n * Issue a new token for an identity.\n * @param id Identifier of the identity to issue token for.\n * @param scopes List of scopes attached to the token.\n * @param options The options parameters.\n */\n issueAccessToken(\n id: string,\n scopes: CommunicationIdentityTokenScope[],\n options?: CommunicationIdentityIssueAccessTokenOptionalParams\n ): Promise<CommunicationIdentityIssueAccessTokenResponse> {\n return this.client.sendOperationRequest(\n { id, scopes, options },\n issueAccessTokenOperationSpec\n );\n }\n}\n// Operation Specifications\nconst serializer = coreClient.createSerializer(Mappers, /* isXml */ false);\n\nconst createOperationSpec: coreClient.OperationSpec = {\n path: \"/identities\",\n httpMethod: \"POST\",\n responses: {\n 201: {\n bodyMapper: Mappers.CommunicationIdentityAccessTokenResult\n },\n default: {\n bodyMapper: Mappers.CommunicationErrorResponse\n }\n },\n requestBody: {\n parameterPath: {\n createTokenWithScopes: [\"options\", \"createTokenWithScopes\"]\n },\n mapper: Mappers.CommunicationIdentityCreateRequest\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.endpoint],\n headerParameters: [Parameters.contentType, Parameters.accept],\n mediaType: \"json\",\n serializer\n};\nconst deleteOperationSpec: coreClient.OperationSpec = {\n path: \"/identities/{id}\",\n httpMethod: \"DELETE\",\n responses: {\n 204: {},\n default: {\n bodyMapper: Mappers.CommunicationErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.endpoint, Parameters.id],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst revokeAccessTokensOperationSpec: coreClient.OperationSpec = {\n path: \"/identities/{id}/:revokeAccessTokens\",\n httpMethod: \"POST\",\n responses: {\n 204: {},\n default: {\n bodyMapper: Mappers.CommunicationErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.endpoint, Parameters.id],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst exchangeTeamsUserAccessTokenOperationSpec: coreClient.OperationSpec = {\n path: \"/teamsUser/:exchangeAccessToken\",\n httpMethod: \"POST\",\n responses: {\n 200: {\n bodyMapper: Mappers.CommunicationIdentityAccessToken\n },\n default: {\n bodyMapper: Mappers.CommunicationErrorResponse\n }\n },\n requestBody: {\n parameterPath: { token: [\"token\"], appId: [\"appId\"], userId: [\"userId\"] },\n mapper: { ...Mappers.TeamsUserExchangeTokenRequest, required: true }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.endpoint],\n headerParameters: [Parameters.contentType, Parameters.accept],\n mediaType: \"json\",\n serializer\n};\nconst issueAccessTokenOperationSpec: coreClient.OperationSpec = {\n path: \"/identities/{id}/:issueAccessToken\",\n httpMethod: \"POST\",\n responses: {\n 200: {\n bodyMapper: Mappers.CommunicationIdentityAccessToken\n },\n default: {\n bodyMapper: Mappers.CommunicationErrorResponse\n }\n },\n requestBody: {\n parameterPath: { scopes: [\"scopes\"] },\n mapper: {\n ...Mappers.CommunicationIdentityAccessTokenRequest,\n required: true\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.endpoint, Parameters.id],\n headerParameters: [Parameters.contentType, Parameters.accept],\n mediaType: \"json\",\n serializer\n};\n","/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport * as coreClient from \"@azure/core-client\";\nimport { IdentityRestClientOptionalParams } from \"./models\";\n\nexport class IdentityRestClientContext extends coreClient.ServiceClient {\n endpoint: string;\n apiVersion: string;\n\n /**\n * Initializes a new instance of the IdentityRestClientContext class.\n * @param endpoint The communication resource, for example https://my-resource.communication.azure.com\n * @param options The parameter options\n */\n constructor(endpoint: string, options?: IdentityRestClientOptionalParams) {\n if (endpoint === undefined) {\n throw new Error(\"'endpoint' cannot be null\");\n }\n\n // Initializing default values for options\n if (!options) {\n options = {};\n }\n const defaults: IdentityRestClientOptionalParams = {\n requestContentType: \"application/json; charset=utf-8\"\n };\n\n const packageDetails = `azsdk-js-communication-identity/1.1.0`;\n const userAgentPrefix =\n options.userAgentOptions && options.userAgentOptions.userAgentPrefix\n ? `${options.userAgentOptions.userAgentPrefix} ${packageDetails}`\n : `${packageDetails}`;\n\n const optionsWithDefaults = {\n ...defaults,\n ...options,\n userAgentOptions: {\n userAgentPrefix\n },\n baseUri: options.endpoint || \"{endpoint}\"\n };\n super(optionsWithDefaults);\n // Parameter assignments\n this.endpoint = endpoint;\n\n // Assigning values to Constant parameters\n this.apiVersion = options.apiVersion || \"2022-06-01\";\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport { CommunicationIdentityOperationsImpl } from \"./operations\";\nimport { CommunicationIdentityOperations } from \"./operationsInterfaces\";\nimport { IdentityRestClientContext } from \"./identityRestClientContext\";\nimport { IdentityRestClientOptionalParams } from \"./models\";\n\nexport class IdentityRestClient extends IdentityRestClientContext {\n /**\n * Initializes a new instance of the IdentityRestClient class.\n * @param endpoint The communication resource, for example https://my-resource.communication.azure.com\n * @param options The parameter options\n */\n constructor(endpoint: string, options?: IdentityRestClientOptionalParams) {\n super(endpoint, options);\n this.communicationIdentityOperations = new CommunicationIdentityOperationsImpl(\n this\n );\n }\n\n communicationIdentityOperations: CommunicationIdentityOperations;\n}\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { createSpanFunction } from \"@azure/core-tracing\";\n\n/**\n * Creates a span using the global tracer.\n * @internal\n */\nexport const createSpan = createSpanFunction({\n packagePrefix: \"Azure.Communication\",\n namespace: \"Microsoft.Communication\",\n});\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { createClientLogger } from \"@azure/logger\";\n\n/**\n * The \\@azure/logger configuration for this package.\n */\nexport const logger = createClientLogger(\"communication-identity\");\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport {\n CommunicationAccessToken,\n CommunicationIdentityClientOptions,\n CommunicationUserToken,\n GetTokenForTeamsUserOptions,\n TokenScope,\n} from \"./models\";\nimport {\n CommunicationUserIdentifier,\n createCommunicationAuthPolicy,\n isKeyCredential,\n parseClientArguments,\n} from \"@azure/communication-common\";\nimport { InternalClientPipelineOptions, OperationOptions } from \"@azure/core-client\";\nimport { KeyCredential, TokenCredential, isTokenCredential } from \"@azure/core-auth\";\nimport { IdentityRestClient } from \"./generated/src/identityRestClient\";\nimport { SpanStatusCode } from \"@azure/core-tracing\";\nimport { createSpan } from \"./common/tracing\";\nimport { logger } from \"./common/logger\";\n\nconst isCommunicationIdentityClientOptions = (\n options: any\n): options is CommunicationIdentityClientOptions =>\n options && !isTokenCredential(options) && !isKeyCredential(options);\n\n/**\n * Client class for interacting with Azure Communication Services User Token Management.\n */\nexport class CommunicationIdentityClient {\n /**\n * A reference to the auto-generated UserToken HTTP client.\n */\n private readonly client: IdentityRestClient;\n\n /**\n * Initializes a new instance of the CommunicationIdentity class.\n * @param connectionString - Connection string to connect to an Azure Communication Service resource.\n * Example: \"endpoint=https://contoso.eastus.communications.azure.net/;accesskey=secret\";\n * @param options - Optional. Options to configure the HTTP pipeline.\n */\n public constructor(connectionString: string, options?: CommunicationIdentityClientOptions);\n\n /**\n * Initializes a new instance of the CommunicationIdentity class using an Azure KeyCredential.\n * @param endpoint - The endpoint of the service (ex: https://contoso.eastus.communications.azure.net).\n * @param credential - An object that is used to authenticate requests to the service. Use the AzureKeyCredential or `@azure/identity` to create a credential.\n * @param options - Optional. Options to configure the HTTP pipeline.\n */\n public constructor(\n endpoint: string,\n credential: KeyCredential,\n options?: CommunicationIdentityClientOptions\n );\n /**\n * Initializes a new instance of the CommunicationIdentity class using a TokenCredential.\n * @param endpoint - The endpoint of the service (ex: https://contoso.eastus.communications.azure.net)\n * @param credential - TokenCredential that is used to authenticate requests to the service.\n * @param options - Optional. Options to configure the HTTP pipeline.\n */\n public constructor(\n endpoint: string,\n credential: TokenCredential,\n options?: CommunicationIdentityClientOptions\n );\n\n public constructor(\n connectionStringOrEndpoint: string,\n credentialOrOptions?: KeyCredential | CommunicationIdentityClientOptions | TokenCredential,\n maybeOptions: CommunicationIdentityClientOptions = {}\n ) {\n const { url, credential } = parseClientArguments(\n connectionStringOrEndpoint,\n credentialOrOptions\n );\n const options = isCommunicationIdentityClientOptions(credentialOrOptions)\n ? credentialOrOptions\n : maybeOptions;\n\n const internalPipelineOptions: InternalClientPipelineOptions = {\n ...options,\n ...{\n loggingOptions: {\n logger: logger.info,\n },\n },\n };\n\n this.client = new IdentityRestClient(url, { endpoint: url, ...internalPipelineOptions });\n\n const authPolicy = createCommunicationAuthPolicy(credential);\n this.client.pipeline.addPolicy(authPolicy);\n }\n\n /**\n * Creates a scoped user token.\n *\n * @param user - The user whose tokens are being issued.\n * @param scopes - Scopes to include in the token.\n * @param options - Additional options for the request.\n */\n public async getToken(\n user: CommunicationUserIdentifier,\n scopes: TokenScope[],\n options: OperationOptions = {}\n ): Promise<CommunicationAccessToken> {\n const { span, updatedOptions } = createSpan(\"CommunicationIdentity-issueToken\", options);\n try {\n return await this.client.communicationIdentityOperations.issueAccessToken(\n user.communicationUserId,\n scopes,\n updatedOptions\n );\n } catch (e: any) {\n span.setStatus({\n code: SpanStatusCode.ERROR,\n message: e.message,\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Revokes all data and tokens created for a user.\n *\n * @param user - The user whose tokens are being revoked.\n * @param options - Additional options for the request.\n */\n public async revokeTokens(\n user: CommunicationUserIdentifier,\n options: OperationOptions = {}\n ): Promise<void> {\n const { span, updatedOptions } = createSpan(\"CommunicationIdentity-revokeTokens\", options);\n try {\n await this.client.communicationIdentityOperations.revokeAccessTokens(\n user.communicationUserId,\n updatedOptions\n );\n } catch (e: any) {\n span.setStatus({\n code: SpanStatusCode.ERROR,\n message: e.message,\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Creates a single user.\n *\n * @param options - Additional options for the request.\n */\n public async createUser(options: OperationOptions = {}): Promise<CommunicationUserIdentifier> {\n const { span, updatedOptions } = createSpan(\"CommunicationIdentity-createUser\", options);\n try {\n const result = await this.client.communicationIdentityOperations.create(updatedOptions);\n return {\n communicationUserId: result.identity.id,\n };\n } catch (e: any) {\n span.setStatus({\n code: SpanStatusCode.ERROR,\n message: e.message,\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Creates a single user and a token simultaneously.\n *\n * @param scopes - Scopes to include in the token.\n * @param options - Additional options for the request.\n */\n public async createUserAndToken(\n scopes: TokenScope[],\n options: OperationOptions = {}\n ): Promise<CommunicationUserToken> {\n const { span, updatedOptions } = createSpan(\n \"CommunicationIdentity-createUserAndToken\",\n options\n );\n try {\n const { identity, accessToken } = await this.client.communicationIdentityOperations.create({\n createTokenWithScopes: scopes,\n ...updatedOptions,\n });\n return {\n ...accessToken!,\n user: { communicationUserId: identity.id },\n };\n } catch (e: any) {\n span.setStatus({\n code: SpanStatusCode.ERROR,\n message: e.message,\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Triggers revocation event for user and deletes all its data.\n *\n * @param user - The user being deleted.\n * @param options - Additional options for the request.\n */\n public async deleteUser(\n user: CommunicationUserIdentifier,\n options: OperationOptions = {}\n ): Promise<void> {\n const { span, updatedOptions } = createSpan(\"CommunicationIdentity-deleteUser\", options);\n try {\n await this.client.communicationIdentityOperations.delete(\n user.communicationUserId,\n updatedOptions\n );\n } catch (e: any) {\n span.setStatus({\n code: SpanStatusCode.ERROR,\n message: e.message,\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Exchanges an Azure AD access token of a Teams user for a new Communication Identity access token with a matching expiration time.\n *\n * @param options - Options used to exchange an Azure AD access token of a Teams user for a new Communication Identity access token.\n */\n public async getTokenForTeamsUser(\n options: GetTokenForTeamsUserOptions\n ): Promise<CommunicationAccessToken> {\n const { span, updatedOptions } = createSpan(\n \"CommunicationIdentity-getTokenForTeamsUser\",\n options\n );\n const { teamsUserAadToken, clientId, userObjectId } = options;\n try {\n return await this.client.communicationIdentityOperations.exchangeTeamsUserAccessToken(\n teamsUserAadToken,\n clientId,\n userObjectId,\n updatedOptions\n );\n } catch (e: any) {\n span.setStatus({\n code: SpanStatusCode.ERROR,\n message: e.message,\n });\n throw e;\n } finally {\n span.end();\n }\n }\n}\n"],"names":["coreClient","Mappers.CommunicationIdentityAccessTokenResult","Mappers.CommunicationErrorResponse","Mappers.CommunicationIdentityCreateRequest","Parameters.apiVersion","Parameters.endpoint","Parameters.contentType","Parameters.accept","Parameters.id","Mappers.CommunicationIdentityAccessToken","Mappers.TeamsUserExchangeTokenRequest","Mappers.CommunicationIdentityAccessTokenRequest","createSpanFunction","createClientLogger","isTokenCredential","isKeyCredential","parseClientArguments","createCommunicationAuthPolicy","SpanStatusCode"],"mappings":"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"}
@@ -140,15 +140,15 @@ export class CommunicationIdentityClient {
140
140
  }
141
141
  }
142
142
  /**
143
- * Exchanges an AAD access token of a Teams user for a new Communication Identity access token with a matching expiration time.
143
+ * Exchanges an Azure AD access token of a Teams user for a new Communication Identity access token with a matching expiration time.
144
144
  *
145
- * @param teamsToken - AAD access token of a Teams user.
146
- * @param options - Additional options for the request.
145
+ * @param options - Options used to exchange an Azure AD access token of a Teams user for a new Communication Identity access token.
147
146
  */
148
- async getTokenForTeamsUser(teamsUserAadToken, options = {}) {
147
+ async getTokenForTeamsUser(options) {
149
148
  const { span, updatedOptions } = createSpan("CommunicationIdentity-getTokenForTeamsUser", options);
149
+ const { teamsUserAadToken, clientId, userObjectId } = options;
150
150
  try {
151
- return await this.client.communicationIdentityOperations.exchangeTeamsUserAccessToken(teamsUserAadToken, updatedOptions);
151
+ return await this.client.communicationIdentityOperations.exchangeTeamsUserAccessToken(teamsUserAadToken, clientId, userObjectId, updatedOptions);
152
152
  }
153
153
  catch (e) {
154
154
  span.setStatus({
@@ -1 +1 @@
1
- {"version":3,"file":"communicationIdentityClient.js","sourceRoot":"","sources":["../../src/communicationIdentityClient.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport {\n CommunicationAccessToken,\n CommunicationIdentityClientOptions,\n CommunicationUserToken,\n TokenScope,\n} from \"./models\";\nimport {\n CommunicationUserIdentifier,\n createCommunicationAuthPolicy,\n isKeyCredential,\n parseClientArguments,\n} from \"@azure/communication-common\";\nimport { InternalClientPipelineOptions, OperationOptions } from \"@azure/core-client\";\nimport { KeyCredential, TokenCredential, isTokenCredential } from \"@azure/core-auth\";\nimport { IdentityRestClient } from \"./generated/src/identityRestClient\";\nimport { SpanStatusCode } from \"@azure/core-tracing\";\nimport { createSpan } from \"./common/tracing\";\nimport { logger } from \"./common/logger\";\n\nconst isCommunicationIdentityClientOptions = (\n options: any\n): options is CommunicationIdentityClientOptions =>\n options && !isTokenCredential(options) && !isKeyCredential(options);\n\n/**\n * Client class for interacting with Azure Communication Services User Token Management.\n */\nexport class CommunicationIdentityClient {\n /**\n * A reference to the auto-generated UserToken HTTP client.\n */\n private readonly client: IdentityRestClient;\n\n /**\n * Initializes a new instance of the CommunicationIdentity class.\n * @param connectionString - Connection string to connect to an Azure Communication Service resource.\n * Example: \"endpoint=https://contoso.eastus.communications.azure.net/;accesskey=secret\";\n * @param options - Optional. Options to configure the HTTP pipeline.\n */\n public constructor(connectionString: string, options?: CommunicationIdentityClientOptions);\n\n /**\n * Initializes a new instance of the CommunicationIdentity class using an Azure KeyCredential.\n * @param endpoint - The endpoint of the service (ex: https://contoso.eastus.communications.azure.net).\n * @param credential - An object that is used to authenticate requests to the service. Use the AzureKeyCredential or `@azure/identity` to create a credential.\n * @param options - Optional. Options to configure the HTTP pipeline.\n */\n public constructor(\n endpoint: string,\n credential: KeyCredential,\n options?: CommunicationIdentityClientOptions\n );\n /**\n * Initializes a new instance of the CommunicationIdentity class using a TokenCredential.\n * @param endpoint - The endpoint of the service (ex: https://contoso.eastus.communications.azure.net)\n * @param credential - TokenCredential that is used to authenticate requests to the service.\n * @param options - Optional. Options to configure the HTTP pipeline.\n */\n public constructor(\n endpoint: string,\n credential: TokenCredential,\n options?: CommunicationIdentityClientOptions\n );\n\n public constructor(\n connectionStringOrEndpoint: string,\n credentialOrOptions?: KeyCredential | CommunicationIdentityClientOptions | TokenCredential,\n maybeOptions: CommunicationIdentityClientOptions = {}\n ) {\n const { url, credential } = parseClientArguments(\n connectionStringOrEndpoint,\n credentialOrOptions\n );\n const options = isCommunicationIdentityClientOptions(credentialOrOptions)\n ? credentialOrOptions\n : maybeOptions;\n\n const internalPipelineOptions: InternalClientPipelineOptions = {\n ...options,\n ...{\n loggingOptions: {\n logger: logger.info,\n },\n },\n };\n\n this.client = new IdentityRestClient(url, { endpoint: url, ...internalPipelineOptions });\n\n const authPolicy = createCommunicationAuthPolicy(credential);\n this.client.pipeline.addPolicy(authPolicy);\n }\n\n /**\n * Creates a scoped user token.\n *\n * @param user - The user whose tokens are being issued.\n * @param scopes - Scopes to include in the token.\n * @param options - Additional options for the request.\n */\n public async getToken(\n user: CommunicationUserIdentifier,\n scopes: TokenScope[],\n options: OperationOptions = {}\n ): Promise<CommunicationAccessToken> {\n const { span, updatedOptions } = createSpan(\"CommunicationIdentity-issueToken\", options);\n try {\n return await this.client.communicationIdentityOperations.issueAccessToken(\n user.communicationUserId,\n scopes,\n updatedOptions\n );\n } catch (e) {\n span.setStatus({\n code: SpanStatusCode.ERROR,\n message: e.message,\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Revokes all data and tokens created for a user.\n *\n * @param user - The user whose tokens are being revoked.\n * @param options - Additional options for the request.\n */\n public async revokeTokens(\n user: CommunicationUserIdentifier,\n options: OperationOptions = {}\n ): Promise<void> {\n const { span, updatedOptions } = createSpan(\"CommunicationIdentity-revokeTokens\", options);\n try {\n await this.client.communicationIdentityOperations.revokeAccessTokens(\n user.communicationUserId,\n updatedOptions\n );\n } catch (e) {\n span.setStatus({\n code: SpanStatusCode.ERROR,\n message: e.message,\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Creates a single user.\n *\n * @param options - Additional options for the request.\n */\n public async createUser(options: OperationOptions = {}): Promise<CommunicationUserIdentifier> {\n const { span, updatedOptions } = createSpan(\"CommunicationIdentity-createUser\", options);\n try {\n const result = await this.client.communicationIdentityOperations.create(updatedOptions);\n return {\n communicationUserId: result.identity.id,\n };\n } catch (e) {\n span.setStatus({\n code: SpanStatusCode.ERROR,\n message: e.message,\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Creates a single user and a token simultaneously.\n *\n * @param scopes - Scopes to include in the token.\n * @param options - Additional options for the request.\n */\n public async createUserAndToken(\n scopes: TokenScope[],\n options: OperationOptions = {}\n ): Promise<CommunicationUserToken> {\n const { span, updatedOptions } = createSpan(\n \"CommunicationIdentity-createUserAndToken\",\n options\n );\n try {\n const { identity, accessToken } = await this.client.communicationIdentityOperations.create({\n createTokenWithScopes: scopes,\n ...updatedOptions,\n });\n return {\n ...accessToken!,\n user: { communicationUserId: identity.id },\n };\n } catch (e) {\n span.setStatus({\n code: SpanStatusCode.ERROR,\n message: e.message,\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Triggers revocation event for user and deletes all its data.\n *\n * @param user - The user being deleted.\n * @param options - Additional options for the request.\n */\n public async deleteUser(\n user: CommunicationUserIdentifier,\n options: OperationOptions = {}\n ): Promise<void> {\n const { span, updatedOptions } = createSpan(\"CommunicationIdentity-deleteUser\", options);\n try {\n await this.client.communicationIdentityOperations.delete(\n user.communicationUserId,\n updatedOptions\n );\n } catch (e) {\n span.setStatus({\n code: SpanStatusCode.ERROR,\n message: e.message,\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Exchanges an AAD access token of a Teams user for a new Communication Identity access token with a matching expiration time.\n *\n * @param teamsToken - AAD access token of a Teams user.\n * @param options - Additional options for the request.\n */\n public async getTokenForTeamsUser(\n teamsUserAadToken: string,\n options: OperationOptions = {}\n ): Promise<CommunicationAccessToken> {\n const { span, updatedOptions } = createSpan(\n \"CommunicationIdentity-getTokenForTeamsUser\",\n options\n );\n try {\n return await this.client.communicationIdentityOperations.exchangeTeamsUserAccessToken(\n teamsUserAadToken,\n updatedOptions\n );\n } catch (e) {\n span.setStatus({\n code: SpanStatusCode.ERROR,\n message: e.message,\n });\n throw e;\n } finally {\n span.end();\n }\n }\n}\n"]}
1
+ {"version":3,"file":"communicationIdentityClient.js","sourceRoot":"","sources":["../../src/communicationIdentityClient.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport {\n CommunicationAccessToken,\n CommunicationIdentityClientOptions,\n CommunicationUserToken,\n GetTokenForTeamsUserOptions,\n TokenScope,\n} from \"./models\";\nimport {\n CommunicationUserIdentifier,\n createCommunicationAuthPolicy,\n isKeyCredential,\n parseClientArguments,\n} from \"@azure/communication-common\";\nimport { InternalClientPipelineOptions, OperationOptions } from \"@azure/core-client\";\nimport { KeyCredential, TokenCredential, isTokenCredential } from \"@azure/core-auth\";\nimport { IdentityRestClient } from \"./generated/src/identityRestClient\";\nimport { SpanStatusCode } from \"@azure/core-tracing\";\nimport { createSpan } from \"./common/tracing\";\nimport { logger } from \"./common/logger\";\n\nconst isCommunicationIdentityClientOptions = (\n options: any\n): options is CommunicationIdentityClientOptions =>\n options && !isTokenCredential(options) && !isKeyCredential(options);\n\n/**\n * Client class for interacting with Azure Communication Services User Token Management.\n */\nexport class CommunicationIdentityClient {\n /**\n * A reference to the auto-generated UserToken HTTP client.\n */\n private readonly client: IdentityRestClient;\n\n /**\n * Initializes a new instance of the CommunicationIdentity class.\n * @param connectionString - Connection string to connect to an Azure Communication Service resource.\n * Example: \"endpoint=https://contoso.eastus.communications.azure.net/;accesskey=secret\";\n * @param options - Optional. Options to configure the HTTP pipeline.\n */\n public constructor(connectionString: string, options?: CommunicationIdentityClientOptions);\n\n /**\n * Initializes a new instance of the CommunicationIdentity class using an Azure KeyCredential.\n * @param endpoint - The endpoint of the service (ex: https://contoso.eastus.communications.azure.net).\n * @param credential - An object that is used to authenticate requests to the service. Use the AzureKeyCredential or `@azure/identity` to create a credential.\n * @param options - Optional. Options to configure the HTTP pipeline.\n */\n public constructor(\n endpoint: string,\n credential: KeyCredential,\n options?: CommunicationIdentityClientOptions\n );\n /**\n * Initializes a new instance of the CommunicationIdentity class using a TokenCredential.\n * @param endpoint - The endpoint of the service (ex: https://contoso.eastus.communications.azure.net)\n * @param credential - TokenCredential that is used to authenticate requests to the service.\n * @param options - Optional. Options to configure the HTTP pipeline.\n */\n public constructor(\n endpoint: string,\n credential: TokenCredential,\n options?: CommunicationIdentityClientOptions\n );\n\n public constructor(\n connectionStringOrEndpoint: string,\n credentialOrOptions?: KeyCredential | CommunicationIdentityClientOptions | TokenCredential,\n maybeOptions: CommunicationIdentityClientOptions = {}\n ) {\n const { url, credential } = parseClientArguments(\n connectionStringOrEndpoint,\n credentialOrOptions\n );\n const options = isCommunicationIdentityClientOptions(credentialOrOptions)\n ? credentialOrOptions\n : maybeOptions;\n\n const internalPipelineOptions: InternalClientPipelineOptions = {\n ...options,\n ...{\n loggingOptions: {\n logger: logger.info,\n },\n },\n };\n\n this.client = new IdentityRestClient(url, { endpoint: url, ...internalPipelineOptions });\n\n const authPolicy = createCommunicationAuthPolicy(credential);\n this.client.pipeline.addPolicy(authPolicy);\n }\n\n /**\n * Creates a scoped user token.\n *\n * @param user - The user whose tokens are being issued.\n * @param scopes - Scopes to include in the token.\n * @param options - Additional options for the request.\n */\n public async getToken(\n user: CommunicationUserIdentifier,\n scopes: TokenScope[],\n options: OperationOptions = {}\n ): Promise<CommunicationAccessToken> {\n const { span, updatedOptions } = createSpan(\"CommunicationIdentity-issueToken\", options);\n try {\n return await this.client.communicationIdentityOperations.issueAccessToken(\n user.communicationUserId,\n scopes,\n updatedOptions\n );\n } catch (e: any) {\n span.setStatus({\n code: SpanStatusCode.ERROR,\n message: e.message,\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Revokes all data and tokens created for a user.\n *\n * @param user - The user whose tokens are being revoked.\n * @param options - Additional options for the request.\n */\n public async revokeTokens(\n user: CommunicationUserIdentifier,\n options: OperationOptions = {}\n ): Promise<void> {\n const { span, updatedOptions } = createSpan(\"CommunicationIdentity-revokeTokens\", options);\n try {\n await this.client.communicationIdentityOperations.revokeAccessTokens(\n user.communicationUserId,\n updatedOptions\n );\n } catch (e: any) {\n span.setStatus({\n code: SpanStatusCode.ERROR,\n message: e.message,\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Creates a single user.\n *\n * @param options - Additional options for the request.\n */\n public async createUser(options: OperationOptions = {}): Promise<CommunicationUserIdentifier> {\n const { span, updatedOptions } = createSpan(\"CommunicationIdentity-createUser\", options);\n try {\n const result = await this.client.communicationIdentityOperations.create(updatedOptions);\n return {\n communicationUserId: result.identity.id,\n };\n } catch (e: any) {\n span.setStatus({\n code: SpanStatusCode.ERROR,\n message: e.message,\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Creates a single user and a token simultaneously.\n *\n * @param scopes - Scopes to include in the token.\n * @param options - Additional options for the request.\n */\n public async createUserAndToken(\n scopes: TokenScope[],\n options: OperationOptions = {}\n ): Promise<CommunicationUserToken> {\n const { span, updatedOptions } = createSpan(\n \"CommunicationIdentity-createUserAndToken\",\n options\n );\n try {\n const { identity, accessToken } = await this.client.communicationIdentityOperations.create({\n createTokenWithScopes: scopes,\n ...updatedOptions,\n });\n return {\n ...accessToken!,\n user: { communicationUserId: identity.id },\n };\n } catch (e: any) {\n span.setStatus({\n code: SpanStatusCode.ERROR,\n message: e.message,\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Triggers revocation event for user and deletes all its data.\n *\n * @param user - The user being deleted.\n * @param options - Additional options for the request.\n */\n public async deleteUser(\n user: CommunicationUserIdentifier,\n options: OperationOptions = {}\n ): Promise<void> {\n const { span, updatedOptions } = createSpan(\"CommunicationIdentity-deleteUser\", options);\n try {\n await this.client.communicationIdentityOperations.delete(\n user.communicationUserId,\n updatedOptions\n );\n } catch (e: any) {\n span.setStatus({\n code: SpanStatusCode.ERROR,\n message: e.message,\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Exchanges an Azure AD access token of a Teams user for a new Communication Identity access token with a matching expiration time.\n *\n * @param options - Options used to exchange an Azure AD access token of a Teams user for a new Communication Identity access token.\n */\n public async getTokenForTeamsUser(\n options: GetTokenForTeamsUserOptions\n ): Promise<CommunicationAccessToken> {\n const { span, updatedOptions } = createSpan(\n \"CommunicationIdentity-getTokenForTeamsUser\",\n options\n );\n const { teamsUserAadToken, clientId, userObjectId } = options;\n try {\n return await this.client.communicationIdentityOperations.exchangeTeamsUserAccessToken(\n teamsUserAadToken,\n clientId,\n userObjectId,\n updatedOptions\n );\n } catch (e: any) {\n span.setStatus({\n code: SpanStatusCode.ERROR,\n message: e.message,\n });\n throw e;\n } finally {\n span.end();\n }\n }\n}\n"]}
@@ -1,4 +1,4 @@
1
1
  // Copyright (c) Microsoft Corporation.
2
2
  // Licensed under the MIT license.
3
- export const SDK_VERSION = "1.1.0-beta.2";
3
+ export const SDK_VERSION = "1.1.0";
4
4
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,MAAM,CAAC,MAAM,WAAW,GAAW,cAAc,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nexport const SDK_VERSION: string = \"1.1.0-beta.2\";\n"]}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,MAAM,CAAC,MAAM,WAAW,GAAW,OAAO,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nexport const SDK_VERSION: string = \"1.1.0\";\n"]}
@@ -23,7 +23,7 @@ export class IdentityRestClientContext extends coreClient.ServiceClient {
23
23
  const defaults = {
24
24
  requestContentType: "application/json; charset=utf-8"
25
25
  };
26
- const packageDetails = `azsdk-js-communication-identity/1.1.0-beta.2`;
26
+ const packageDetails = `azsdk-js-communication-identity/1.1.0`;
27
27
  const userAgentPrefix = options.userAgentOptions && options.userAgentOptions.userAgentPrefix
28
28
  ? `${options.userAgentOptions.userAgentPrefix} ${packageDetails}`
29
29
  : `${packageDetails}`;
@@ -34,7 +34,7 @@ export class IdentityRestClientContext extends coreClient.ServiceClient {
34
34
  // Parameter assignments
35
35
  this.endpoint = endpoint;
36
36
  // Assigning values to Constant parameters
37
- this.apiVersion = options.apiVersion || "2021-10-31-preview";
37
+ this.apiVersion = options.apiVersion || "2022-06-01";
38
38
  }
39
39
  }
40
40
  //# sourceMappingURL=identityRestClientContext.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"identityRestClientContext.js","sourceRoot":"","sources":["../../../../src/generated/src/identityRestClientContext.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,UAAU,MAAM,oBAAoB,CAAC;AAGjD,MAAM,OAAO,yBAA0B,SAAQ,UAAU,CAAC,aAAa;IAIrE;;;;OAIG;IACH,YAAY,QAAgB,EAAE,OAA0C;QACtE,IAAI,QAAQ,KAAK,SAAS,EAAE;YAC1B,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;SAC9C;QAED,0CAA0C;QAC1C,IAAI,CAAC,OAAO,EAAE;YACZ,OAAO,GAAG,EAAE,CAAC;SACd;QACD,MAAM,QAAQ,GAAqC;YACjD,kBAAkB,EAAE,iCAAiC;SACtD,CAAC;QAEF,MAAM,cAAc,GAAG,8CAA8C,CAAC;QACtE,MAAM,eAAe,GACnB,OAAO,CAAC,gBAAgB,IAAI,OAAO,CAAC,gBAAgB,CAAC,eAAe;YAClE,CAAC,CAAC,GAAG,OAAO,CAAC,gBAAgB,CAAC,eAAe,IAAI,cAAc,EAAE;YACjE,CAAC,CAAC,GAAG,cAAc,EAAE,CAAC;QAE1B,MAAM,mBAAmB,iDACpB,QAAQ,GACR,OAAO,KACV,gBAAgB,EAAE;gBAChB,eAAe;aAChB,EACD,OAAO,EAAE,OAAO,CAAC,QAAQ,IAAI,YAAY,GAC1C,CAAC;QACF,KAAK,CAAC,mBAAmB,CAAC,CAAC;QAC3B,wBAAwB;QACxB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAEzB,0CAA0C;QAC1C,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,oBAAoB,CAAC;IAC/D,CAAC;CACF","sourcesContent":["/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport * as coreClient from \"@azure/core-client\";\nimport { IdentityRestClientOptionalParams } from \"./models\";\n\nexport class IdentityRestClientContext extends coreClient.ServiceClient {\n endpoint: string;\n apiVersion: string;\n\n /**\n * Initializes a new instance of the IdentityRestClientContext class.\n * @param endpoint The communication resource, for example https://my-resource.communication.azure.com\n * @param options The parameter options\n */\n constructor(endpoint: string, options?: IdentityRestClientOptionalParams) {\n if (endpoint === undefined) {\n throw new Error(\"'endpoint' cannot be null\");\n }\n\n // Initializing default values for options\n if (!options) {\n options = {};\n }\n const defaults: IdentityRestClientOptionalParams = {\n requestContentType: \"application/json; charset=utf-8\"\n };\n\n const packageDetails = `azsdk-js-communication-identity/1.1.0-beta.2`;\n const userAgentPrefix =\n options.userAgentOptions && options.userAgentOptions.userAgentPrefix\n ? `${options.userAgentOptions.userAgentPrefix} ${packageDetails}`\n : `${packageDetails}`;\n\n const optionsWithDefaults = {\n ...defaults,\n ...options,\n userAgentOptions: {\n userAgentPrefix\n },\n baseUri: options.endpoint || \"{endpoint}\"\n };\n super(optionsWithDefaults);\n // Parameter assignments\n this.endpoint = endpoint;\n\n // Assigning values to Constant parameters\n this.apiVersion = options.apiVersion || \"2021-10-31-preview\";\n }\n}\n"]}
1
+ {"version":3,"file":"identityRestClientContext.js","sourceRoot":"","sources":["../../../../src/generated/src/identityRestClientContext.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,UAAU,MAAM,oBAAoB,CAAC;AAGjD,MAAM,OAAO,yBAA0B,SAAQ,UAAU,CAAC,aAAa;IAIrE;;;;OAIG;IACH,YAAY,QAAgB,EAAE,OAA0C;QACtE,IAAI,QAAQ,KAAK,SAAS,EAAE;YAC1B,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;SAC9C;QAED,0CAA0C;QAC1C,IAAI,CAAC,OAAO,EAAE;YACZ,OAAO,GAAG,EAAE,CAAC;SACd;QACD,MAAM,QAAQ,GAAqC;YACjD,kBAAkB,EAAE,iCAAiC;SACtD,CAAC;QAEF,MAAM,cAAc,GAAG,uCAAuC,CAAC;QAC/D,MAAM,eAAe,GACnB,OAAO,CAAC,gBAAgB,IAAI,OAAO,CAAC,gBAAgB,CAAC,eAAe;YAClE,CAAC,CAAC,GAAG,OAAO,CAAC,gBAAgB,CAAC,eAAe,IAAI,cAAc,EAAE;YACjE,CAAC,CAAC,GAAG,cAAc,EAAE,CAAC;QAE1B,MAAM,mBAAmB,iDACpB,QAAQ,GACR,OAAO,KACV,gBAAgB,EAAE;gBAChB,eAAe;aAChB,EACD,OAAO,EAAE,OAAO,CAAC,QAAQ,IAAI,YAAY,GAC1C,CAAC;QACF,KAAK,CAAC,mBAAmB,CAAC,CAAC;QAC3B,wBAAwB;QACxB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAEzB,0CAA0C;QAC1C,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,YAAY,CAAC;IACvD,CAAC;CACF","sourcesContent":["/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport * as coreClient from \"@azure/core-client\";\nimport { IdentityRestClientOptionalParams } from \"./models\";\n\nexport class IdentityRestClientContext extends coreClient.ServiceClient {\n endpoint: string;\n apiVersion: string;\n\n /**\n * Initializes a new instance of the IdentityRestClientContext class.\n * @param endpoint The communication resource, for example https://my-resource.communication.azure.com\n * @param options The parameter options\n */\n constructor(endpoint: string, options?: IdentityRestClientOptionalParams) {\n if (endpoint === undefined) {\n throw new Error(\"'endpoint' cannot be null\");\n }\n\n // Initializing default values for options\n if (!options) {\n options = {};\n }\n const defaults: IdentityRestClientOptionalParams = {\n requestContentType: \"application/json; charset=utf-8\"\n };\n\n const packageDetails = `azsdk-js-communication-identity/1.1.0`;\n const userAgentPrefix =\n options.userAgentOptions && options.userAgentOptions.userAgentPrefix\n ? `${options.userAgentOptions.userAgentPrefix} ${packageDetails}`\n : `${packageDetails}`;\n\n const optionsWithDefaults = {\n ...defaults,\n ...options,\n userAgentOptions: {\n userAgentPrefix\n },\n baseUri: options.endpoint || \"{endpoint}\"\n };\n super(optionsWithDefaults);\n // Parameter assignments\n this.endpoint = endpoint;\n\n // Assigning values to Constant parameters\n this.apiVersion = options.apiVersion || \"2022-06-01\";\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/generated/src/models/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAsEH,wFAAwF;AACxF,MAAM,CAAN,IAAY,oCAGX;AAHD,WAAY,oCAAoC;IAC9C,qDAAa,CAAA;IACb,qDAAa,CAAA;AACf,CAAC,EAHW,oCAAoC,KAApC,oCAAoC,QAG/C","sourcesContent":["/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport * as coreClient from \"@azure/core-client\";\n\nexport interface CommunicationIdentityCreateRequest {\n /** Also create access token for the created identity. */\n createTokenWithScopes?: CommunicationIdentityTokenScope[];\n}\n\n/** A communication identity with access token. */\nexport interface CommunicationIdentityAccessTokenResult {\n /** A communication identity. */\n identity: CommunicationIdentity;\n /** An access token. */\n accessToken?: CommunicationIdentityAccessToken;\n}\n\n/** A communication identity. */\nexport interface CommunicationIdentity {\n /** Identifier of the identity. */\n id: string;\n}\n\n/** An access token. */\nexport interface CommunicationIdentityAccessToken {\n /** The access token issued for the identity. */\n token: string;\n /** The expiry time of the token. */\n expiresOn: Date;\n}\n\n/** The Communication Services error. */\nexport interface CommunicationErrorResponse {\n /** The Communication Services error. */\n error: CommunicationError;\n}\n\n/** The Communication Services error. */\nexport interface CommunicationError {\n /** The error code. */\n code: string;\n /** The error message. */\n message: string;\n /**\n * The error target.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly target?: string;\n /**\n * Further details about specific errors that led to this error.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly details?: CommunicationError[];\n /**\n * The inner error if any.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly innerError?: CommunicationError;\n}\n\nexport interface TeamsUserAccessTokenRequest {\n /** AAD access token of a Teams User to acquire a new Communication Identity access token. */\n token: string;\n}\n\nexport interface CommunicationIdentityAccessTokenRequest {\n /** List of scopes attached to the token. */\n scopes: CommunicationIdentityTokenScope[];\n}\n\n/** Known values of {@link CommunicationIdentityTokenScope} that the service accepts. */\nexport enum KnownCommunicationIdentityTokenScope {\n Chat = \"chat\",\n Voip = \"voip\"\n}\n\n/**\n * Defines values for CommunicationIdentityTokenScope. \\\n * {@link KnownCommunicationIdentityTokenScope} can be used interchangeably with CommunicationIdentityTokenScope,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **chat** \\\n * **voip**\n */\nexport type CommunicationIdentityTokenScope = string;\n\n/** Optional parameters. */\nexport interface CommunicationIdentityCreateOptionalParams\n extends coreClient.OperationOptions {\n /** Also create access token for the created identity. */\n createTokenWithScopes?: CommunicationIdentityTokenScope[];\n}\n\n/** Contains response data for the create operation. */\nexport type CommunicationIdentityCreateResponse = CommunicationIdentityAccessTokenResult;\n\n/** Optional parameters. */\nexport interface CommunicationIdentityDeleteOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Optional parameters. */\nexport interface CommunicationIdentityRevokeAccessTokensOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Optional parameters. */\nexport interface CommunicationIdentityExchangeTeamsUserAccessTokenOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the exchangeTeamsUserAccessToken operation. */\nexport type CommunicationIdentityExchangeTeamsUserAccessTokenResponse = CommunicationIdentityAccessToken;\n\n/** Optional parameters. */\nexport interface CommunicationIdentityIssueAccessTokenOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the issueAccessToken operation. */\nexport type CommunicationIdentityIssueAccessTokenResponse = CommunicationIdentityAccessToken;\n\n/** Optional parameters. */\nexport interface IdentityRestClientOptionalParams\n extends coreClient.ServiceClientOptions {\n /** Api Version */\n apiVersion?: string;\n /** Overrides client endpoint. */\n endpoint?: string;\n}\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/generated/src/models/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AA0EH,wFAAwF;AACxF,MAAM,CAAN,IAAY,oCAGX;AAHD,WAAY,oCAAoC;IAC9C,qDAAa,CAAA;IACb,qDAAa,CAAA;AACf,CAAC,EAHW,oCAAoC,KAApC,oCAAoC,QAG/C","sourcesContent":["/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport * as coreClient from \"@azure/core-client\";\n\nexport interface CommunicationIdentityCreateRequest {\n /** Also create access token for the created identity. */\n createTokenWithScopes?: CommunicationIdentityTokenScope[];\n}\n\n/** A communication identity with access token. */\nexport interface CommunicationIdentityAccessTokenResult {\n /** A communication identity. */\n identity: CommunicationIdentity;\n /** An access token. */\n accessToken?: CommunicationIdentityAccessToken;\n}\n\n/** A communication identity. */\nexport interface CommunicationIdentity {\n /** Identifier of the identity. */\n id: string;\n}\n\n/** An access token. */\nexport interface CommunicationIdentityAccessToken {\n /** The access token issued for the identity. */\n token: string;\n /** The expiry time of the token. */\n expiresOn: Date;\n}\n\n/** The Communication Services error. */\nexport interface CommunicationErrorResponse {\n /** The Communication Services error. */\n error: CommunicationError;\n}\n\n/** The Communication Services error. */\nexport interface CommunicationError {\n /** The error code. */\n code: string;\n /** The error message. */\n message: string;\n /**\n * The error target.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly target?: string;\n /**\n * Further details about specific errors that led to this error.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly details?: CommunicationError[];\n /**\n * The inner error if any.\n * NOTE: This property will not be serialized. It can only be populated by the server.\n */\n readonly innerError?: CommunicationError;\n}\n\nexport interface TeamsUserExchangeTokenRequest {\n /** Azure AD access token of a Teams User to acquire a new Communication Identity access token. */\n token: string;\n /** Client ID of an Azure AD application to be verified against the appid claim in the Azure AD access token. */\n appId: string;\n /** Object ID of an Azure AD user (Teams User) to be verified against the oid claim in the Azure AD access token. */\n userId: string;\n}\n\nexport interface CommunicationIdentityAccessTokenRequest {\n /** List of scopes attached to the token. */\n scopes: CommunicationIdentityTokenScope[];\n}\n\n/** Known values of {@link CommunicationIdentityTokenScope} that the service accepts. */\nexport enum KnownCommunicationIdentityTokenScope {\n Chat = \"chat\",\n Voip = \"voip\"\n}\n\n/**\n * Defines values for CommunicationIdentityTokenScope. \\\n * {@link KnownCommunicationIdentityTokenScope} can be used interchangeably with CommunicationIdentityTokenScope,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **chat** \\\n * **voip**\n */\nexport type CommunicationIdentityTokenScope = string;\n\n/** Optional parameters. */\nexport interface CommunicationIdentityCreateOptionalParams\n extends coreClient.OperationOptions {\n /** Also create access token for the created identity. */\n createTokenWithScopes?: CommunicationIdentityTokenScope[];\n}\n\n/** Contains response data for the create operation. */\nexport type CommunicationIdentityCreateResponse = CommunicationIdentityAccessTokenResult;\n\n/** Optional parameters. */\nexport interface CommunicationIdentityDeleteOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Optional parameters. */\nexport interface CommunicationIdentityRevokeAccessTokensOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Optional parameters. */\nexport interface CommunicationIdentityExchangeTeamsUserAccessTokenOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the exchangeTeamsUserAccessToken operation. */\nexport type CommunicationIdentityExchangeTeamsUserAccessTokenResponse = CommunicationIdentityAccessToken;\n\n/** Optional parameters. */\nexport interface CommunicationIdentityIssueAccessTokenOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the issueAccessToken operation. */\nexport type CommunicationIdentityIssueAccessTokenResponse = CommunicationIdentityAccessToken;\n\n/** Optional parameters. */\nexport interface IdentityRestClientOptionalParams\n extends coreClient.ServiceClientOptions {\n /** Api Version */\n apiVersion?: string;\n /** Overrides client endpoint. */\n endpoint?: string;\n}\n"]}
@@ -147,10 +147,10 @@ export const CommunicationError = {
147
147
  }
148
148
  }
149
149
  };
150
- export const TeamsUserAccessTokenRequest = {
150
+ export const TeamsUserExchangeTokenRequest = {
151
151
  type: {
152
152
  name: "Composite",
153
- className: "TeamsUserAccessTokenRequest",
153
+ className: "TeamsUserExchangeTokenRequest",
154
154
  modelProperties: {
155
155
  token: {
156
156
  serializedName: "token",
@@ -158,6 +158,20 @@ export const TeamsUserAccessTokenRequest = {
158
158
  type: {
159
159
  name: "String"
160
160
  }
161
+ },
162
+ appId: {
163
+ serializedName: "appId",
164
+ required: true,
165
+ type: {
166
+ name: "String"
167
+ }
168
+ },
169
+ userId: {
170
+ serializedName: "userId",
171
+ required: true,
172
+ type: {
173
+ name: "String"
174
+ }
161
175
  }
162
176
  }
163
177
  }
@@ -1 +1 @@
1
- {"version":3,"file":"mappers.js","sourceRoot":"","sources":["../../../../../src/generated/src/models/mappers.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport * as coreClient from \"@azure/core-client\";\n\nexport const CommunicationIdentityCreateRequest: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"CommunicationIdentityCreateRequest\",\n modelProperties: {\n createTokenWithScopes: {\n serializedName: \"createTokenWithScopes\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"String\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const CommunicationIdentityAccessTokenResult: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"CommunicationIdentityAccessTokenResult\",\n modelProperties: {\n identity: {\n serializedName: \"identity\",\n type: {\n name: \"Composite\",\n className: \"CommunicationIdentity\"\n }\n },\n accessToken: {\n serializedName: \"accessToken\",\n type: {\n name: \"Composite\",\n className: \"CommunicationIdentityAccessToken\"\n }\n }\n }\n }\n};\n\nexport const CommunicationIdentity: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"CommunicationIdentity\",\n modelProperties: {\n id: {\n serializedName: \"id\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const CommunicationIdentityAccessToken: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"CommunicationIdentityAccessToken\",\n modelProperties: {\n token: {\n serializedName: \"token\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n expiresOn: {\n serializedName: \"expiresOn\",\n required: true,\n type: {\n name: \"DateTime\"\n }\n }\n }\n }\n};\n\nexport const CommunicationErrorResponse: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"CommunicationErrorResponse\",\n modelProperties: {\n error: {\n serializedName: \"error\",\n type: {\n name: \"Composite\",\n className: \"CommunicationError\"\n }\n }\n }\n }\n};\n\nexport const CommunicationError: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"CommunicationError\",\n modelProperties: {\n code: {\n serializedName: \"code\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n message: {\n serializedName: \"message\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n target: {\n serializedName: \"target\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n details: {\n serializedName: \"details\",\n readOnly: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"CommunicationError\"\n }\n }\n }\n },\n innerError: {\n serializedName: \"innererror\",\n type: {\n name: \"Composite\",\n className: \"CommunicationError\"\n }\n }\n }\n }\n};\n\nexport const TeamsUserAccessTokenRequest: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"TeamsUserAccessTokenRequest\",\n modelProperties: {\n token: {\n serializedName: \"token\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const CommunicationIdentityAccessTokenRequest: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"CommunicationIdentityAccessTokenRequest\",\n modelProperties: {\n scopes: {\n serializedName: \"scopes\",\n required: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"String\"\n }\n }\n }\n }\n }\n }\n};\n"]}
1
+ {"version":3,"file":"mappers.js","sourceRoot":"","sources":["../../../../../src/generated/src/models/mappers.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport * as coreClient from \"@azure/core-client\";\n\nexport const CommunicationIdentityCreateRequest: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"CommunicationIdentityCreateRequest\",\n modelProperties: {\n createTokenWithScopes: {\n serializedName: \"createTokenWithScopes\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"String\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const CommunicationIdentityAccessTokenResult: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"CommunicationIdentityAccessTokenResult\",\n modelProperties: {\n identity: {\n serializedName: \"identity\",\n type: {\n name: \"Composite\",\n className: \"CommunicationIdentity\"\n }\n },\n accessToken: {\n serializedName: \"accessToken\",\n type: {\n name: \"Composite\",\n className: \"CommunicationIdentityAccessToken\"\n }\n }\n }\n }\n};\n\nexport const CommunicationIdentity: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"CommunicationIdentity\",\n modelProperties: {\n id: {\n serializedName: \"id\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const CommunicationIdentityAccessToken: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"CommunicationIdentityAccessToken\",\n modelProperties: {\n token: {\n serializedName: \"token\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n expiresOn: {\n serializedName: \"expiresOn\",\n required: true,\n type: {\n name: \"DateTime\"\n }\n }\n }\n }\n};\n\nexport const CommunicationErrorResponse: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"CommunicationErrorResponse\",\n modelProperties: {\n error: {\n serializedName: \"error\",\n type: {\n name: \"Composite\",\n className: \"CommunicationError\"\n }\n }\n }\n }\n};\n\nexport const CommunicationError: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"CommunicationError\",\n modelProperties: {\n code: {\n serializedName: \"code\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n message: {\n serializedName: \"message\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n target: {\n serializedName: \"target\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n details: {\n serializedName: \"details\",\n readOnly: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"CommunicationError\"\n }\n }\n }\n },\n innerError: {\n serializedName: \"innererror\",\n type: {\n name: \"Composite\",\n className: \"CommunicationError\"\n }\n }\n }\n }\n};\n\nexport const TeamsUserExchangeTokenRequest: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"TeamsUserExchangeTokenRequest\",\n modelProperties: {\n token: {\n serializedName: \"token\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n appId: {\n serializedName: \"appId\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n userId: {\n serializedName: \"userId\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const CommunicationIdentityAccessTokenRequest: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"CommunicationIdentityAccessTokenRequest\",\n modelProperties: {\n scopes: {\n serializedName: \"scopes\",\n required: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"String\"\n }\n }\n }\n }\n }\n }\n};\n"]}
@@ -5,7 +5,7 @@
5
5
  * Code generated by Microsoft (R) AutoRest Code Generator.
6
6
  * Changes may cause incorrect behavior and will be lost if the code is regenerated.
7
7
  */
8
- import { CommunicationIdentityCreateRequest as CommunicationIdentityCreateRequestMapper, TeamsUserAccessTokenRequest as TeamsUserAccessTokenRequestMapper, CommunicationIdentityAccessTokenRequest as CommunicationIdentityAccessTokenRequestMapper } from "../models/mappers";
8
+ import { CommunicationIdentityCreateRequest as CommunicationIdentityCreateRequestMapper, TeamsUserExchangeTokenRequest as TeamsUserExchangeTokenRequestMapper, CommunicationIdentityAccessTokenRequest as CommunicationIdentityAccessTokenRequestMapper } from "../models/mappers";
9
9
  export const contentType = {
10
10
  parameterPath: ["options", "contentType"],
11
11
  mapper: {
@@ -46,7 +46,7 @@ export const endpoint = {
46
46
  export const apiVersion = {
47
47
  parameterPath: "apiVersion",
48
48
  mapper: {
49
- defaultValue: "2021-10-31-preview",
49
+ defaultValue: "2022-06-01",
50
50
  isConstant: true,
51
51
  serializedName: "api-version",
52
52
  type: {
@@ -66,7 +66,15 @@ export const id = {
66
66
  };
67
67
  export const token = {
68
68
  parameterPath: "token",
69
- mapper: TeamsUserAccessTokenRequestMapper
69
+ mapper: TeamsUserExchangeTokenRequestMapper
70
+ };
71
+ export const appId = {
72
+ parameterPath: "appId",
73
+ mapper: TeamsUserExchangeTokenRequestMapper
74
+ };
75
+ export const userId = {
76
+ parameterPath: "userId",
77
+ mapper: TeamsUserExchangeTokenRequestMapper
70
78
  };
71
79
  export const scopes = {
72
80
  parameterPath: "scopes",
@@ -1 +1 @@
1
- {"version":3,"file":"parameters.js","sourceRoot":"","sources":["../../../../../src/generated/src/models/parameters.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAOH,OAAO,EACL,kCAAkC,IAAI,wCAAwC,EAC9E,2BAA2B,IAAI,iCAAiC,EAChE,uCAAuC,IAAI,6CAA6C,EACzF,MAAM,mBAAmB,CAAC;AAE3B,MAAM,CAAC,MAAM,WAAW,GAAuB;IAC7C,aAAa,EAAE,CAAC,SAAS,EAAE,aAAa,CAAC;IACzC,MAAM,EAAE;QACN,YAAY,EAAE,kBAAkB;QAChC,UAAU,EAAE,IAAI;QAChB,cAAc,EAAE,cAAc;QAC9B,IAAI,EAAE;YACJ,IAAI,EAAE,QAAQ;SACf;KACF;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,MAAM,GAAuB;IACxC,aAAa,EAAE,QAAQ;IACvB,MAAM,EAAE;QACN,YAAY,EAAE,kBAAkB;QAChC,UAAU,EAAE,IAAI;QAChB,cAAc,EAAE,QAAQ;QACxB,IAAI,EAAE;YACJ,IAAI,EAAE,QAAQ;SACf;KACF;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAuB;IACvD,aAAa,EAAE,CAAC,SAAS,EAAE,uBAAuB,CAAC;IACnD,MAAM,EAAE,wCAAwC;CACjD,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GAA0B;IAC7C,aAAa,EAAE,UAAU;IACzB,MAAM,EAAE;QACN,cAAc,EAAE,UAAU;QAC1B,QAAQ,EAAE,IAAI;QACd,IAAI,EAAE;YACJ,IAAI,EAAE,QAAQ;SACf;KACF;IACD,YAAY,EAAE,IAAI;CACnB,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAA4B;IACjD,aAAa,EAAE,YAAY;IAC3B,MAAM,EAAE;QACN,YAAY,EAAE,oBAAoB;QAClC,UAAU,EAAE,IAAI;QAChB,cAAc,EAAE,aAAa;QAC7B,IAAI,EAAE;YACJ,IAAI,EAAE,QAAQ;SACf;KACF;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,EAAE,GAA0B;IACvC,aAAa,EAAE,IAAI;IACnB,MAAM,EAAE;QACN,cAAc,EAAE,IAAI;QACpB,QAAQ,EAAE,IAAI;QACd,IAAI,EAAE;YACJ,IAAI,EAAE,QAAQ;SACf;KACF;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,KAAK,GAAuB;IACvC,aAAa,EAAE,OAAO;IACtB,MAAM,EAAE,iCAAiC;CAC1C,CAAC;AAEF,MAAM,CAAC,MAAM,MAAM,GAAuB;IACxC,aAAa,EAAE,QAAQ;IACvB,MAAM,EAAE,6CAA6C;CACtD,CAAC","sourcesContent":["/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport {\n OperationParameter,\n OperationURLParameter,\n OperationQueryParameter\n} from \"@azure/core-client\";\nimport {\n CommunicationIdentityCreateRequest as CommunicationIdentityCreateRequestMapper,\n TeamsUserAccessTokenRequest as TeamsUserAccessTokenRequestMapper,\n CommunicationIdentityAccessTokenRequest as CommunicationIdentityAccessTokenRequestMapper\n} from \"../models/mappers\";\n\nexport const contentType: OperationParameter = {\n parameterPath: [\"options\", \"contentType\"],\n mapper: {\n defaultValue: \"application/json\",\n isConstant: true,\n serializedName: \"Content-Type\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const accept: OperationParameter = {\n parameterPath: \"accept\",\n mapper: {\n defaultValue: \"application/json\",\n isConstant: true,\n serializedName: \"Accept\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const createTokenWithScopes: OperationParameter = {\n parameterPath: [\"options\", \"createTokenWithScopes\"],\n mapper: CommunicationIdentityCreateRequestMapper\n};\n\nexport const endpoint: OperationURLParameter = {\n parameterPath: \"endpoint\",\n mapper: {\n serializedName: \"endpoint\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n skipEncoding: true\n};\n\nexport const apiVersion: OperationQueryParameter = {\n parameterPath: \"apiVersion\",\n mapper: {\n defaultValue: \"2021-10-31-preview\",\n isConstant: true,\n serializedName: \"api-version\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const id: OperationURLParameter = {\n parameterPath: \"id\",\n mapper: {\n serializedName: \"id\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const token: OperationParameter = {\n parameterPath: \"token\",\n mapper: TeamsUserAccessTokenRequestMapper\n};\n\nexport const scopes: OperationParameter = {\n parameterPath: \"scopes\",\n mapper: CommunicationIdentityAccessTokenRequestMapper\n};\n"]}
1
+ {"version":3,"file":"parameters.js","sourceRoot":"","sources":["../../../../../src/generated/src/models/parameters.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAOH,OAAO,EACL,kCAAkC,IAAI,wCAAwC,EAC9E,6BAA6B,IAAI,mCAAmC,EACpE,uCAAuC,IAAI,6CAA6C,EACzF,MAAM,mBAAmB,CAAC;AAE3B,MAAM,CAAC,MAAM,WAAW,GAAuB;IAC7C,aAAa,EAAE,CAAC,SAAS,EAAE,aAAa,CAAC;IACzC,MAAM,EAAE;QACN,YAAY,EAAE,kBAAkB;QAChC,UAAU,EAAE,IAAI;QAChB,cAAc,EAAE,cAAc;QAC9B,IAAI,EAAE;YACJ,IAAI,EAAE,QAAQ;SACf;KACF;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,MAAM,GAAuB;IACxC,aAAa,EAAE,QAAQ;IACvB,MAAM,EAAE;QACN,YAAY,EAAE,kBAAkB;QAChC,UAAU,EAAE,IAAI;QAChB,cAAc,EAAE,QAAQ;QACxB,IAAI,EAAE;YACJ,IAAI,EAAE,QAAQ;SACf;KACF;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAuB;IACvD,aAAa,EAAE,CAAC,SAAS,EAAE,uBAAuB,CAAC;IACnD,MAAM,EAAE,wCAAwC;CACjD,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GAA0B;IAC7C,aAAa,EAAE,UAAU;IACzB,MAAM,EAAE;QACN,cAAc,EAAE,UAAU;QAC1B,QAAQ,EAAE,IAAI;QACd,IAAI,EAAE;YACJ,IAAI,EAAE,QAAQ;SACf;KACF;IACD,YAAY,EAAE,IAAI;CACnB,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAA4B;IACjD,aAAa,EAAE,YAAY;IAC3B,MAAM,EAAE;QACN,YAAY,EAAE,YAAY;QAC1B,UAAU,EAAE,IAAI;QAChB,cAAc,EAAE,aAAa;QAC7B,IAAI,EAAE;YACJ,IAAI,EAAE,QAAQ;SACf;KACF;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,EAAE,GAA0B;IACvC,aAAa,EAAE,IAAI;IACnB,MAAM,EAAE;QACN,cAAc,EAAE,IAAI;QACpB,QAAQ,EAAE,IAAI;QACd,IAAI,EAAE;YACJ,IAAI,EAAE,QAAQ;SACf;KACF;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,KAAK,GAAuB;IACvC,aAAa,EAAE,OAAO;IACtB,MAAM,EAAE,mCAAmC;CAC5C,CAAC;AAEF,MAAM,CAAC,MAAM,KAAK,GAAuB;IACvC,aAAa,EAAE,OAAO;IACtB,MAAM,EAAE,mCAAmC;CAC5C,CAAC;AAEF,MAAM,CAAC,MAAM,MAAM,GAAuB;IACxC,aAAa,EAAE,QAAQ;IACvB,MAAM,EAAE,mCAAmC;CAC5C,CAAC;AAEF,MAAM,CAAC,MAAM,MAAM,GAAuB;IACxC,aAAa,EAAE,QAAQ;IACvB,MAAM,EAAE,6CAA6C;CACtD,CAAC","sourcesContent":["/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport {\n OperationParameter,\n OperationURLParameter,\n OperationQueryParameter\n} from \"@azure/core-client\";\nimport {\n CommunicationIdentityCreateRequest as CommunicationIdentityCreateRequestMapper,\n TeamsUserExchangeTokenRequest as TeamsUserExchangeTokenRequestMapper,\n CommunicationIdentityAccessTokenRequest as CommunicationIdentityAccessTokenRequestMapper\n} from \"../models/mappers\";\n\nexport const contentType: OperationParameter = {\n parameterPath: [\"options\", \"contentType\"],\n mapper: {\n defaultValue: \"application/json\",\n isConstant: true,\n serializedName: \"Content-Type\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const accept: OperationParameter = {\n parameterPath: \"accept\",\n mapper: {\n defaultValue: \"application/json\",\n isConstant: true,\n serializedName: \"Accept\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const createTokenWithScopes: OperationParameter = {\n parameterPath: [\"options\", \"createTokenWithScopes\"],\n mapper: CommunicationIdentityCreateRequestMapper\n};\n\nexport const endpoint: OperationURLParameter = {\n parameterPath: \"endpoint\",\n mapper: {\n serializedName: \"endpoint\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n skipEncoding: true\n};\n\nexport const apiVersion: OperationQueryParameter = {\n parameterPath: \"apiVersion\",\n mapper: {\n defaultValue: \"2022-06-01\",\n isConstant: true,\n serializedName: \"api-version\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const id: OperationURLParameter = {\n parameterPath: \"id\",\n mapper: {\n serializedName: \"id\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const token: OperationParameter = {\n parameterPath: \"token\",\n mapper: TeamsUserExchangeTokenRequestMapper\n};\n\nexport const appId: OperationParameter = {\n parameterPath: \"appId\",\n mapper: TeamsUserExchangeTokenRequestMapper\n};\n\nexport const userId: OperationParameter = {\n parameterPath: \"userId\",\n mapper: TeamsUserExchangeTokenRequestMapper\n};\n\nexport const scopes: OperationParameter = {\n parameterPath: \"scopes\",\n mapper: CommunicationIdentityAccessTokenRequestMapper\n};\n"]}
@@ -41,13 +41,18 @@ export class CommunicationIdentityOperationsImpl {
41
41
  return this.client.sendOperationRequest({ id, options }, revokeAccessTokensOperationSpec);
42
42
  }
43
43
  /**
44
- * Exchange an AAD access token of a Teams user for a new Communication Identity access token with a
45
- * matching expiration time.
46
- * @param token AAD access token of a Teams User to acquire a new Communication Identity access token.
44
+ * Exchange an Azure Active Directory (Azure AD) access token of a Teams user for a new Communication
45
+ * Identity access token with a matching expiration time.
46
+ * @param token Azure AD access token of a Teams User to acquire a new Communication Identity access
47
+ * token.
48
+ * @param appId Client ID of an Azure AD application to be verified against the appid claim in the
49
+ * Azure AD access token.
50
+ * @param userId Object ID of an Azure AD user (Teams User) to be verified against the oid claim in the
51
+ * Azure AD access token.
47
52
  * @param options The options parameters.
48
53
  */
49
- exchangeTeamsUserAccessToken(token, options) {
50
- return this.client.sendOperationRequest({ token, options }, exchangeTeamsUserAccessTokenOperationSpec);
54
+ exchangeTeamsUserAccessToken(token, appId, userId, options) {
55
+ return this.client.sendOperationRequest({ token, appId, userId, options }, exchangeTeamsUserAccessTokenOperationSpec);
51
56
  }
52
57
  /**
53
58
  * Issue a new token for an identity.
@@ -124,8 +129,8 @@ const exchangeTeamsUserAccessTokenOperationSpec = {
124
129
  }
125
130
  },
126
131
  requestBody: {
127
- parameterPath: { token: ["token"] },
128
- mapper: Object.assign(Object.assign({}, Mappers.TeamsUserAccessTokenRequest), { required: true })
132
+ parameterPath: { token: ["token"], appId: ["appId"], userId: ["userId"] },
133
+ mapper: Object.assign(Object.assign({}, Mappers.TeamsUserExchangeTokenRequest), { required: true })
129
134
  },
130
135
  queryParameters: [Parameters.apiVersion],
131
136
  urlParameters: [Parameters.endpoint],
@@ -1 +1 @@
1
- {"version":3,"file":"communicationIdentityOperations.js","sourceRoot":"","sources":["../../../../../src/generated/src/operations/communicationIdentityOperations.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport { CommunicationIdentityOperations } from \"../operationsInterfaces\";\nimport * as coreClient from \"@azure/core-client\";\nimport * as Mappers from \"../models/mappers\";\nimport * as Parameters from \"../models/parameters\";\nimport { IdentityRestClientContext } from \"../identityRestClientContext\";\nimport {\n CommunicationIdentityCreateOptionalParams,\n CommunicationIdentityCreateResponse,\n CommunicationIdentityDeleteOptionalParams,\n CommunicationIdentityRevokeAccessTokensOptionalParams,\n CommunicationIdentityExchangeTeamsUserAccessTokenOptionalParams,\n CommunicationIdentityExchangeTeamsUserAccessTokenResponse,\n CommunicationIdentityTokenScope,\n CommunicationIdentityIssueAccessTokenOptionalParams,\n CommunicationIdentityIssueAccessTokenResponse\n} from \"../models\";\n\n/** Class containing CommunicationIdentityOperations operations. */\nexport class CommunicationIdentityOperationsImpl\n implements CommunicationIdentityOperations {\n private readonly client: IdentityRestClientContext;\n\n /**\n * Initialize a new instance of the class CommunicationIdentityOperations class.\n * @param client Reference to the service client\n */\n constructor(client: IdentityRestClientContext) {\n this.client = client;\n }\n\n /**\n * Create a new identity, and optionally, an access token.\n * @param options The options parameters.\n */\n create(\n options?: CommunicationIdentityCreateOptionalParams\n ): Promise<CommunicationIdentityCreateResponse> {\n return this.client.sendOperationRequest({ options }, createOperationSpec);\n }\n\n /**\n * Delete the identity, revoke all tokens for the identity and delete all associated data.\n * @param id Identifier of the identity to be deleted.\n * @param options The options parameters.\n */\n delete(\n id: string,\n options?: CommunicationIdentityDeleteOptionalParams\n ): Promise<void> {\n return this.client.sendOperationRequest(\n { id, options },\n deleteOperationSpec\n );\n }\n\n /**\n * Revoke all access tokens for the specific identity.\n * @param id Identifier of the identity.\n * @param options The options parameters.\n */\n revokeAccessTokens(\n id: string,\n options?: CommunicationIdentityRevokeAccessTokensOptionalParams\n ): Promise<void> {\n return this.client.sendOperationRequest(\n { id, options },\n revokeAccessTokensOperationSpec\n );\n }\n\n /**\n * Exchange an AAD access token of a Teams user for a new Communication Identity access token with a\n * matching expiration time.\n * @param token AAD access token of a Teams User to acquire a new Communication Identity access token.\n * @param options The options parameters.\n */\n exchangeTeamsUserAccessToken(\n token: string,\n options?: CommunicationIdentityExchangeTeamsUserAccessTokenOptionalParams\n ): Promise<CommunicationIdentityExchangeTeamsUserAccessTokenResponse> {\n return this.client.sendOperationRequest(\n { token, options },\n exchangeTeamsUserAccessTokenOperationSpec\n );\n }\n\n /**\n * Issue a new token for an identity.\n * @param id Identifier of the identity to issue token for.\n * @param scopes List of scopes attached to the token.\n * @param options The options parameters.\n */\n issueAccessToken(\n id: string,\n scopes: CommunicationIdentityTokenScope[],\n options?: CommunicationIdentityIssueAccessTokenOptionalParams\n ): Promise<CommunicationIdentityIssueAccessTokenResponse> {\n return this.client.sendOperationRequest(\n { id, scopes, options },\n issueAccessTokenOperationSpec\n );\n }\n}\n// Operation Specifications\nconst serializer = coreClient.createSerializer(Mappers, /* isXml */ false);\n\nconst createOperationSpec: coreClient.OperationSpec = {\n path: \"/identities\",\n httpMethod: \"POST\",\n responses: {\n 201: {\n bodyMapper: Mappers.CommunicationIdentityAccessTokenResult\n },\n default: {\n bodyMapper: Mappers.CommunicationErrorResponse\n }\n },\n requestBody: {\n parameterPath: {\n createTokenWithScopes: [\"options\", \"createTokenWithScopes\"]\n },\n mapper: Mappers.CommunicationIdentityCreateRequest\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.endpoint],\n headerParameters: [Parameters.contentType, Parameters.accept],\n mediaType: \"json\",\n serializer\n};\nconst deleteOperationSpec: coreClient.OperationSpec = {\n path: \"/identities/{id}\",\n httpMethod: \"DELETE\",\n responses: {\n 204: {},\n default: {\n bodyMapper: Mappers.CommunicationErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.endpoint, Parameters.id],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst revokeAccessTokensOperationSpec: coreClient.OperationSpec = {\n path: \"/identities/{id}/:revokeAccessTokens\",\n httpMethod: \"POST\",\n responses: {\n 204: {},\n default: {\n bodyMapper: Mappers.CommunicationErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.endpoint, Parameters.id],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst exchangeTeamsUserAccessTokenOperationSpec: coreClient.OperationSpec = {\n path: \"/teamsUser/:exchangeAccessToken\",\n httpMethod: \"POST\",\n responses: {\n 200: {\n bodyMapper: Mappers.CommunicationIdentityAccessToken\n },\n default: {\n bodyMapper: Mappers.CommunicationErrorResponse\n }\n },\n requestBody: {\n parameterPath: { token: [\"token\"] },\n mapper: { ...Mappers.TeamsUserAccessTokenRequest, required: true }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.endpoint],\n headerParameters: [Parameters.contentType, Parameters.accept],\n mediaType: \"json\",\n serializer\n};\nconst issueAccessTokenOperationSpec: coreClient.OperationSpec = {\n path: \"/identities/{id}/:issueAccessToken\",\n httpMethod: \"POST\",\n responses: {\n 200: {\n bodyMapper: Mappers.CommunicationIdentityAccessToken\n },\n default: {\n bodyMapper: Mappers.CommunicationErrorResponse\n }\n },\n requestBody: {\n parameterPath: { scopes: [\"scopes\"] },\n mapper: {\n ...Mappers.CommunicationIdentityAccessTokenRequest,\n required: true\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.endpoint, Parameters.id],\n headerParameters: [Parameters.contentType, Parameters.accept],\n mediaType: \"json\",\n serializer\n};\n"]}
1
+ {"version":3,"file":"communicationIdentityOperations.js","sourceRoot":"","sources":["../../../../../src/generated/src/operations/communicationIdentityOperations.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport { CommunicationIdentityOperations } from \"../operationsInterfaces\";\nimport * as coreClient from \"@azure/core-client\";\nimport * as Mappers from \"../models/mappers\";\nimport * as Parameters from \"../models/parameters\";\nimport { IdentityRestClientContext } from \"../identityRestClientContext\";\nimport {\n CommunicationIdentityCreateOptionalParams,\n CommunicationIdentityCreateResponse,\n CommunicationIdentityDeleteOptionalParams,\n CommunicationIdentityRevokeAccessTokensOptionalParams,\n CommunicationIdentityExchangeTeamsUserAccessTokenOptionalParams,\n CommunicationIdentityExchangeTeamsUserAccessTokenResponse,\n CommunicationIdentityTokenScope,\n CommunicationIdentityIssueAccessTokenOptionalParams,\n CommunicationIdentityIssueAccessTokenResponse\n} from \"../models\";\n\n/** Class containing CommunicationIdentityOperations operations. */\nexport class CommunicationIdentityOperationsImpl\n implements CommunicationIdentityOperations {\n private readonly client: IdentityRestClientContext;\n\n /**\n * Initialize a new instance of the class CommunicationIdentityOperations class.\n * @param client Reference to the service client\n */\n constructor(client: IdentityRestClientContext) {\n this.client = client;\n }\n\n /**\n * Create a new identity, and optionally, an access token.\n * @param options The options parameters.\n */\n create(\n options?: CommunicationIdentityCreateOptionalParams\n ): Promise<CommunicationIdentityCreateResponse> {\n return this.client.sendOperationRequest({ options }, createOperationSpec);\n }\n\n /**\n * Delete the identity, revoke all tokens for the identity and delete all associated data.\n * @param id Identifier of the identity to be deleted.\n * @param options The options parameters.\n */\n delete(\n id: string,\n options?: CommunicationIdentityDeleteOptionalParams\n ): Promise<void> {\n return this.client.sendOperationRequest(\n { id, options },\n deleteOperationSpec\n );\n }\n\n /**\n * Revoke all access tokens for the specific identity.\n * @param id Identifier of the identity.\n * @param options The options parameters.\n */\n revokeAccessTokens(\n id: string,\n options?: CommunicationIdentityRevokeAccessTokensOptionalParams\n ): Promise<void> {\n return this.client.sendOperationRequest(\n { id, options },\n revokeAccessTokensOperationSpec\n );\n }\n\n /**\n * Exchange an Azure Active Directory (Azure AD) access token of a Teams user for a new Communication\n * Identity access token with a matching expiration time.\n * @param token Azure AD access token of a Teams User to acquire a new Communication Identity access\n * token.\n * @param appId Client ID of an Azure AD application to be verified against the appid claim in the\n * Azure AD access token.\n * @param userId Object ID of an Azure AD user (Teams User) to be verified against the oid claim in the\n * Azure AD access token.\n * @param options The options parameters.\n */\n exchangeTeamsUserAccessToken(\n token: string,\n appId: string,\n userId: string,\n options?: CommunicationIdentityExchangeTeamsUserAccessTokenOptionalParams\n ): Promise<CommunicationIdentityExchangeTeamsUserAccessTokenResponse> {\n return this.client.sendOperationRequest(\n { token, appId, userId, options },\n exchangeTeamsUserAccessTokenOperationSpec\n );\n }\n\n /**\n * Issue a new token for an identity.\n * @param id Identifier of the identity to issue token for.\n * @param scopes List of scopes attached to the token.\n * @param options The options parameters.\n */\n issueAccessToken(\n id: string,\n scopes: CommunicationIdentityTokenScope[],\n options?: CommunicationIdentityIssueAccessTokenOptionalParams\n ): Promise<CommunicationIdentityIssueAccessTokenResponse> {\n return this.client.sendOperationRequest(\n { id, scopes, options },\n issueAccessTokenOperationSpec\n );\n }\n}\n// Operation Specifications\nconst serializer = coreClient.createSerializer(Mappers, /* isXml */ false);\n\nconst createOperationSpec: coreClient.OperationSpec = {\n path: \"/identities\",\n httpMethod: \"POST\",\n responses: {\n 201: {\n bodyMapper: Mappers.CommunicationIdentityAccessTokenResult\n },\n default: {\n bodyMapper: Mappers.CommunicationErrorResponse\n }\n },\n requestBody: {\n parameterPath: {\n createTokenWithScopes: [\"options\", \"createTokenWithScopes\"]\n },\n mapper: Mappers.CommunicationIdentityCreateRequest\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.endpoint],\n headerParameters: [Parameters.contentType, Parameters.accept],\n mediaType: \"json\",\n serializer\n};\nconst deleteOperationSpec: coreClient.OperationSpec = {\n path: \"/identities/{id}\",\n httpMethod: \"DELETE\",\n responses: {\n 204: {},\n default: {\n bodyMapper: Mappers.CommunicationErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.endpoint, Parameters.id],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst revokeAccessTokensOperationSpec: coreClient.OperationSpec = {\n path: \"/identities/{id}/:revokeAccessTokens\",\n httpMethod: \"POST\",\n responses: {\n 204: {},\n default: {\n bodyMapper: Mappers.CommunicationErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.endpoint, Parameters.id],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst exchangeTeamsUserAccessTokenOperationSpec: coreClient.OperationSpec = {\n path: \"/teamsUser/:exchangeAccessToken\",\n httpMethod: \"POST\",\n responses: {\n 200: {\n bodyMapper: Mappers.CommunicationIdentityAccessToken\n },\n default: {\n bodyMapper: Mappers.CommunicationErrorResponse\n }\n },\n requestBody: {\n parameterPath: { token: [\"token\"], appId: [\"appId\"], userId: [\"userId\"] },\n mapper: { ...Mappers.TeamsUserExchangeTokenRequest, required: true }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.endpoint],\n headerParameters: [Parameters.contentType, Parameters.accept],\n mediaType: \"json\",\n serializer\n};\nconst issueAccessTokenOperationSpec: coreClient.OperationSpec = {\n path: \"/identities/{id}/:issueAccessToken\",\n httpMethod: \"POST\",\n responses: {\n 200: {\n bodyMapper: Mappers.CommunicationIdentityAccessToken\n },\n default: {\n bodyMapper: Mappers.CommunicationErrorResponse\n }\n },\n requestBody: {\n parameterPath: { scopes: [\"scopes\"] },\n mapper: {\n ...Mappers.CommunicationIdentityAccessTokenRequest,\n required: true\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.endpoint, Parameters.id],\n headerParameters: [Parameters.contentType, Parameters.accept],\n mediaType: \"json\",\n serializer\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"communicationIdentityOperations.js","sourceRoot":"","sources":["../../../../../src/generated/src/operationsInterfaces/communicationIdentityOperations.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG","sourcesContent":["/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport {\n CommunicationIdentityCreateOptionalParams,\n CommunicationIdentityCreateResponse,\n CommunicationIdentityDeleteOptionalParams,\n CommunicationIdentityRevokeAccessTokensOptionalParams,\n CommunicationIdentityExchangeTeamsUserAccessTokenOptionalParams,\n CommunicationIdentityExchangeTeamsUserAccessTokenResponse,\n CommunicationIdentityTokenScope,\n CommunicationIdentityIssueAccessTokenOptionalParams,\n CommunicationIdentityIssueAccessTokenResponse\n} from \"../models\";\n\n/** Interface representing a CommunicationIdentityOperations. */\nexport interface CommunicationIdentityOperations {\n /**\n * Create a new identity, and optionally, an access token.\n * @param options The options parameters.\n */\n create(\n options?: CommunicationIdentityCreateOptionalParams\n ): Promise<CommunicationIdentityCreateResponse>;\n /**\n * Delete the identity, revoke all tokens for the identity and delete all associated data.\n * @param id Identifier of the identity to be deleted.\n * @param options The options parameters.\n */\n delete(\n id: string,\n options?: CommunicationIdentityDeleteOptionalParams\n ): Promise<void>;\n /**\n * Revoke all access tokens for the specific identity.\n * @param id Identifier of the identity.\n * @param options The options parameters.\n */\n revokeAccessTokens(\n id: string,\n options?: CommunicationIdentityRevokeAccessTokensOptionalParams\n ): Promise<void>;\n /**\n * Exchange an AAD access token of a Teams user for a new Communication Identity access token with a\n * matching expiration time.\n * @param token AAD access token of a Teams User to acquire a new Communication Identity access token.\n * @param options The options parameters.\n */\n exchangeTeamsUserAccessToken(\n token: string,\n options?: CommunicationIdentityExchangeTeamsUserAccessTokenOptionalParams\n ): Promise<CommunicationIdentityExchangeTeamsUserAccessTokenResponse>;\n /**\n * Issue a new token for an identity.\n * @param id Identifier of the identity to issue token for.\n * @param scopes List of scopes attached to the token.\n * @param options The options parameters.\n */\n issueAccessToken(\n id: string,\n scopes: CommunicationIdentityTokenScope[],\n options?: CommunicationIdentityIssueAccessTokenOptionalParams\n ): Promise<CommunicationIdentityIssueAccessTokenResponse>;\n}\n"]}
1
+ {"version":3,"file":"communicationIdentityOperations.js","sourceRoot":"","sources":["../../../../../src/generated/src/operationsInterfaces/communicationIdentityOperations.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG","sourcesContent":["/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport {\n CommunicationIdentityCreateOptionalParams,\n CommunicationIdentityCreateResponse,\n CommunicationIdentityDeleteOptionalParams,\n CommunicationIdentityRevokeAccessTokensOptionalParams,\n CommunicationIdentityExchangeTeamsUserAccessTokenOptionalParams,\n CommunicationIdentityExchangeTeamsUserAccessTokenResponse,\n CommunicationIdentityTokenScope,\n CommunicationIdentityIssueAccessTokenOptionalParams,\n CommunicationIdentityIssueAccessTokenResponse\n} from \"../models\";\n\n/** Interface representing a CommunicationIdentityOperations. */\nexport interface CommunicationIdentityOperations {\n /**\n * Create a new identity, and optionally, an access token.\n * @param options The options parameters.\n */\n create(\n options?: CommunicationIdentityCreateOptionalParams\n ): Promise<CommunicationIdentityCreateResponse>;\n /**\n * Delete the identity, revoke all tokens for the identity and delete all associated data.\n * @param id Identifier of the identity to be deleted.\n * @param options The options parameters.\n */\n delete(\n id: string,\n options?: CommunicationIdentityDeleteOptionalParams\n ): Promise<void>;\n /**\n * Revoke all access tokens for the specific identity.\n * @param id Identifier of the identity.\n * @param options The options parameters.\n */\n revokeAccessTokens(\n id: string,\n options?: CommunicationIdentityRevokeAccessTokensOptionalParams\n ): Promise<void>;\n /**\n * Exchange an Azure Active Directory (Azure AD) access token of a Teams user for a new Communication\n * Identity access token with a matching expiration time.\n * @param token Azure AD access token of a Teams User to acquire a new Communication Identity access\n * token.\n * @param appId Client ID of an Azure AD application to be verified against the appid claim in the\n * Azure AD access token.\n * @param userId Object ID of an Azure AD user (Teams User) to be verified against the oid claim in the\n * Azure AD access token.\n * @param options The options parameters.\n */\n exchangeTeamsUserAccessToken(\n token: string,\n appId: string,\n userId: string,\n options?: CommunicationIdentityExchangeTeamsUserAccessTokenOptionalParams\n ): Promise<CommunicationIdentityExchangeTeamsUserAccessTokenResponse>;\n /**\n * Issue a new token for an identity.\n * @param id Identifier of the identity to issue token for.\n * @param scopes List of scopes attached to the token.\n * @param options The options parameters.\n */\n issueAccessToken(\n id: string,\n scopes: CommunicationIdentityTokenScope[],\n options?: CommunicationIdentityIssueAccessTokenOptionalParams\n ): Promise<CommunicationIdentityIssueAccessTokenResponse>;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"models.js","sourceRoot":"","sources":["../../src/models.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { CommonClientOptions } from \"@azure/core-client\";\nimport { CommunicationUserIdentifier } from \"@azure/communication-common\";\n\n/**\n * Represents the scope of the token.\n */\nexport type TokenScope = \"chat\" | \"voip\";\n\n/**\n * Client options used to configure the CommunicationIdentity API requests.\n */\nexport interface CommunicationIdentityClientOptions extends CommonClientOptions {}\n\n/**\n * The access token for a user.\n */\nexport interface CommunicationAccessToken {\n /**\n * The access token issued for the user.\n */\n token: string;\n /**\n * The expiry time of the token.\n */\n expiresOn: Date;\n}\n\n/**\n * The issued token and the user it was issued for.\n */\nexport interface CommunicationUserToken extends CommunicationAccessToken {\n /**\n * Represents the user the token was issued for\n */\n user: CommunicationUserIdentifier;\n}\n"]}
1
+ {"version":3,"file":"models.js","sourceRoot":"","sources":["../../src/models.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { CommonClientOptions, OperationOptions } from \"@azure/core-client\";\nimport { CommunicationUserIdentifier } from \"@azure/communication-common\";\n\n/**\n * Represents the scope of the token.\n */\nexport type TokenScope = \"chat\" | \"voip\";\n\n/**\n * Client options used to configure the CommunicationIdentity API requests.\n */\nexport interface CommunicationIdentityClientOptions extends CommonClientOptions {}\n\n/**\n * The access token for a user.\n */\nexport interface CommunicationAccessToken {\n /**\n * The access token issued for the user.\n */\n token: string;\n /**\n * The expiry time of the token.\n */\n expiresOn: Date;\n}\n\n/**\n * The issued token and the user it was issued for.\n */\nexport interface CommunicationUserToken extends CommunicationAccessToken {\n /**\n * Represents the user the token was issued for\n */\n user: CommunicationUserIdentifier;\n}\n\n/**\n * Options used to exchange an AAD access token of a Teams user for a new Communication Identity access token.\n */\nexport interface GetTokenForTeamsUserOptions extends OperationOptions {\n /**\n * Azure Active Directory access token of a Teams user.\n */\n teamsUserAadToken: string;\n\n /**\n * Client ID of an Azure AD application to be verified against the appId claim in the Azure AD access token.\n */\n clientId: string;\n\n /**\n * Object ID of an Azure AD user (Teams User) to be verified against the OID claim in the Azure AD access token.\n */\n userObjectId: string;\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@azure/communication-identity",
3
- "version": "1.1.0-beta.2",
3
+ "version": "1.1.0",
4
4
  "description": "SDK for Azure Communication service which facilitates user token administration.",
5
5
  "sdk-type": "client",
6
6
  "main": "dist/index.js",
@@ -25,8 +25,8 @@
25
25
  "integration-test:browser": "dev-tool run test:browser",
26
26
  "integration-test:node": "dev-tool run test:node-js-input -- --timeout 5000000 --exclude 'dist-esm/test/**/browser/*.spec.js' 'dist-esm/test/**/*.spec.js'",
27
27
  "integration-test": "npm run integration-test:node && npm run integration-test:browser",
28
- "lint:fix": "eslint package.json api-extractor.json src test --ext .ts --fix --fix-type [problem,suggestion]",
29
- "lint": "eslint package.json api-extractor.json src test --ext .ts",
28
+ "lint:fix": "eslint package.json api-extractor.json README.md src test --ext .ts,.javascript,.js --fix --fix-type [problem,suggestion]",
29
+ "lint": "eslint package.json api-extractor.json README.md src test --ext .ts,.javascript,.js",
30
30
  "pack": "npm pack 2>&1",
31
31
  "test": "npm run build:test && npm run unit-test && npm run integration-test",
32
32
  "test:browser": "npm run build:test && npm run unit-test:browser && npm run integration-test:browser",
@@ -100,23 +100,25 @@
100
100
  "tslib": "^2.2.0"
101
101
  },
102
102
  "devDependencies": {
103
- "@azure/core-util": "^1.0.0-beta.1",
103
+ "@azure-tools/test-credential": "^1.0.0",
104
+ "@azure-tools/test-recorder": "^2.0.0",
105
+ "@azure/core-util": "^1.0.0",
104
106
  "@azure/dev-tool": "^1.0.0",
105
107
  "@azure/eslint-plugin-azure-sdk": "^3.0.0",
106
- "@azure/test-utils": "^1.0.0",
107
- "@azure-tools/test-recorder": "^2.0.0",
108
108
  "@azure/identity": "^2.0.1",
109
- "@azure-tools/test-credential": "^1.0.0",
110
- "@microsoft/api-extractor": "^7.18.11",
109
+ "@azure/msal-node": "^1.3.0",
110
+ "@azure/test-utils": "^1.0.0",
111
+ "@microsoft/api-extractor": "7.18.11",
111
112
  "@types/chai": "^4.1.6",
112
113
  "@types/mocha": "^7.0.2",
113
- "@types/sinon": "^9.0.4",
114
114
  "@types/node": "^12.0.0",
115
+ "@types/sinon": "^9.0.4",
115
116
  "chai": "^4.2.0",
116
117
  "cross-env": "^7.0.2",
117
118
  "dotenv": "^8.2.0",
118
- "eslint": "^7.15.0",
119
+ "eslint": "^8.0.0",
119
120
  "inherits": "^2.0.3",
121
+ "karma": "^6.2.0",
120
122
  "karma-chrome-launcher": "^3.0.0",
121
123
  "karma-coverage": "^2.0.0",
122
124
  "karma-edge-launcher": "^0.4.2",
@@ -124,12 +126,12 @@
124
126
  "karma-firefox-launcher": "^1.1.0",
125
127
  "karma-ie-launcher": "^1.0.0",
126
128
  "karma-junit-reporter": "^2.0.1",
127
- "karma-mocha-reporter": "^2.2.5",
128
129
  "karma-mocha": "^2.0.1",
130
+ "karma-mocha-reporter": "^2.2.5",
129
131
  "karma-sourcemap-loader": "^0.3.8",
130
- "karma": "^6.2.0",
131
- "mocha-junit-reporter": "^2.0.0",
132
132
  "mocha": "^7.1.1",
133
+ "mocha-junit-reporter": "^2.0.0",
134
+ "mocha-testdata": "^1.2.0",
133
135
  "nyc": "^15.0.0",
134
136
  "prettier": "^2.5.1",
135
137
  "rimraf": "^3.0.0",
@@ -83,12 +83,11 @@ export declare class CommunicationIdentityClient {
83
83
  */
84
84
  deleteUser(user: CommunicationUserIdentifier, options?: OperationOptions): Promise<void>;
85
85
  /**
86
- * Exchanges an AAD access token of a Teams user for a new Communication Identity access token with a matching expiration time.
86
+ * Exchanges an Azure AD access token of a Teams user for a new Communication Identity access token with a matching expiration time.
87
87
  *
88
- * @param teamsToken - AAD access token of a Teams user.
89
- * @param options - Additional options for the request.
88
+ * @param options - Options used to exchange an Azure AD access token of a Teams user for a new Communication Identity access token.
90
89
  */
91
- getTokenForTeamsUser(teamsUserAadToken: string, options?: OperationOptions): Promise<CommunicationAccessToken>;
90
+ getTokenForTeamsUser(options: GetTokenForTeamsUserOptions): Promise<CommunicationAccessToken>;
92
91
  }
93
92
 
94
93
  /**
@@ -107,6 +106,24 @@ export declare interface CommunicationUserToken extends CommunicationAccessToken
107
106
  user: CommunicationUserIdentifier;
108
107
  }
109
108
 
109
+ /**
110
+ * Options used to exchange an AAD access token of a Teams user for a new Communication Identity access token.
111
+ */
112
+ export declare interface GetTokenForTeamsUserOptions extends OperationOptions {
113
+ /**
114
+ * Azure Active Directory access token of a Teams user.
115
+ */
116
+ teamsUserAadToken: string;
117
+ /**
118
+ * Client ID of an Azure AD application to be verified against the appId claim in the Azure AD access token.
119
+ */
120
+ clientId: string;
121
+ /**
122
+ * Object ID of an Azure AD user (Teams User) to be verified against the OID claim in the Azure AD access token.
123
+ */
124
+ userObjectId: string;
125
+ }
126
+
110
127
  /**
111
128
  * Represents the scope of the token.
112
129
  */
package/CHANGELOG.md DELETED
@@ -1,46 +0,0 @@
1
- # Release History
2
-
3
- ## 1.1.0-beta.2 (2022-04-05)
4
-
5
- ### Features Added
6
-
7
- - Migrated from using `@azure/core-http` to `@azure/core-rest-pipeline` for the handling of HTTP requests. See [Azure Core v1 vs v2](https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/core/core-rest-pipeline/documentation/core2.md) for more on the difference and benefits of the move.
8
-
9
- ## 1.1.0-beta.1 (2021-10-29)
10
-
11
- ### Features Added
12
-
13
- - With the dropping of support for Node.js versions that are no longer in LTS, the dependency on `@types/node` has been updated to version 12. Read our [support policy](https://github.com/Azure/azure-sdk-for-js/blob/main/SUPPORT.md) for more details.
14
- - Updated our internal core package dependencies to their latest versions in order to add support for Opentelemetry 1.0.0 which is compatible with the latest versions of our other client libraries.
15
- - Changed TS compilation target to ES2017 in order to produce smaller bundles and use more native platform features
16
- - Added support to build custom Teams endpoint using M365 Teams identities
17
- - `CommunicationIdentityClient` added a new method `getTokenForTeamsUser` that provides the ability to exchange an AAD access token of a Teams user for a Communication Identity access token
18
-
19
- ## 1.0.0 (2021-03-29)
20
-
21
- - Stable release of `@azure/communication-identity`.
22
-
23
- ## 1.0.0-beta.5 (2021-03-09)
24
-
25
- ### Breaking Changes
26
-
27
- - `CommunicationIdentityClient` method `issueToken` renamed to `getToken`.
28
- - `CommunicationIdentityClient` method `createUserWithToken` renamed to `createUserAndToken`.
29
- - Renamed `CommunicationIdentityOptions` to `CommunicationIdentityClientOptions`.
30
- - Removed `_response` from returned models.
31
- - Removed `dist-browser` from the output folders. To bundle the Azure SDK libraries, please read our bundling guide: [link](https://github.com/Azure/azure-sdk-for-js/blob/main/documentation/Bundling.md).
32
-
33
- ## 1.0.0-beta.4 (2021-02-09)
34
-
35
- ### Added
36
-
37
- - Added `CommunicationIdentityClient` (originally part of the `@azure/communication-administration` package).
38
- - `CommunicationIdentityClient` added a constructor that supports `TokenCredential`.
39
- - `CommunicationIdentityClient` added a new method `createUserWithToken`.
40
-
41
- ### Breaking Changes
42
-
43
- - Replaced `CommunicationUser` with `CommunicationUserIdentifier`.
44
- - `CommunicationIdentityClient` method `revokeTokens` no longer accepts `tokensValidFrom` as an argument.
45
- - `pstn` is removed from `TokenScope`
46
- - `issueToken` no longer returns the `CommunicationUser` alongside the token.