@azure/communication-identity 1.3.1-alpha.20240110.1 → 1.3.1-alpha.20240115.1
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/index.js +39 -19
- package/dist/index.js.map +1 -1
- package/dist-esm/src/communicationIdentityClient.js +22 -9
- package/dist-esm/src/communicationIdentityClient.js.map +1 -1
- package/dist-esm/src/generated/src/identityRestClient.js +7 -3
- package/dist-esm/src/generated/src/identityRestClient.js.map +1 -1
- package/dist-esm/src/generated/src/operations/communicationIdentityOperations.js +10 -7
- package/dist-esm/src/generated/src/operations/communicationIdentityOperations.js.map +1 -1
- package/package.json +4 -5
package/dist/index.js
CHANGED
@@ -356,7 +356,7 @@ class CommunicationIdentityOperationsImpl {
|
|
356
356
|
* @param options The options parameters.
|
357
357
|
*/
|
358
358
|
async create(options) {
|
359
|
-
return tracingClient.withSpan("IdentityRestClient.create", options
|
359
|
+
return tracingClient.withSpan("IdentityRestClient.create", options ?? {}, async (options) => {
|
360
360
|
return this.client.sendOperationRequest({ options }, createOperationSpec);
|
361
361
|
});
|
362
362
|
}
|
@@ -366,7 +366,7 @@ class CommunicationIdentityOperationsImpl {
|
|
366
366
|
* @param options The options parameters.
|
367
367
|
*/
|
368
368
|
async delete(id, options) {
|
369
|
-
return tracingClient.withSpan("IdentityRestClient.delete", options
|
369
|
+
return tracingClient.withSpan("IdentityRestClient.delete", options ?? {}, async (options) => {
|
370
370
|
return this.client.sendOperationRequest({ id, options }, deleteOperationSpec);
|
371
371
|
});
|
372
372
|
}
|
@@ -376,7 +376,7 @@ class CommunicationIdentityOperationsImpl {
|
|
376
376
|
* @param options The options parameters.
|
377
377
|
*/
|
378
378
|
async revokeAccessTokens(id, options) {
|
379
|
-
return tracingClient.withSpan("IdentityRestClient.revokeAccessTokens", options
|
379
|
+
return tracingClient.withSpan("IdentityRestClient.revokeAccessTokens", options ?? {}, async (options) => {
|
380
380
|
return this.client.sendOperationRequest({ id, options }, revokeAccessTokensOperationSpec);
|
381
381
|
});
|
382
382
|
}
|
@@ -392,7 +392,7 @@ class CommunicationIdentityOperationsImpl {
|
|
392
392
|
* @param options The options parameters.
|
393
393
|
*/
|
394
394
|
async exchangeTeamsUserAccessToken(token, appId, userId, options) {
|
395
|
-
return tracingClient.withSpan("IdentityRestClient.exchangeTeamsUserAccessToken", options
|
395
|
+
return tracingClient.withSpan("IdentityRestClient.exchangeTeamsUserAccessToken", options ?? {}, async (options) => {
|
396
396
|
return this.client.sendOperationRequest({ token, appId, userId, options }, exchangeTeamsUserAccessTokenOperationSpec);
|
397
397
|
});
|
398
398
|
}
|
@@ -403,7 +403,7 @@ class CommunicationIdentityOperationsImpl {
|
|
403
403
|
* @param options The options parameters.
|
404
404
|
*/
|
405
405
|
async issueAccessToken(id, scopes, options) {
|
406
|
-
return tracingClient.withSpan("IdentityRestClient.issueAccessToken", options
|
406
|
+
return tracingClient.withSpan("IdentityRestClient.issueAccessToken", options ?? {}, async (options) => {
|
407
407
|
return this.client.sendOperationRequest({ id, scopes, options }, issueAccessTokenOperationSpec);
|
408
408
|
});
|
409
409
|
}
|
@@ -475,7 +475,7 @@ const exchangeTeamsUserAccessTokenOperationSpec = {
|
|
475
475
|
},
|
476
476
|
requestBody: {
|
477
477
|
parameterPath: { token: ["token"], appId: ["appId"], userId: ["userId"] },
|
478
|
-
mapper:
|
478
|
+
mapper: { ...TeamsUserExchangeTokenRequest, required: true }
|
479
479
|
},
|
480
480
|
queryParameters: [apiVersion],
|
481
481
|
urlParameters: [endpoint],
|
@@ -499,7 +499,10 @@ const issueAccessTokenOperationSpec = {
|
|
499
499
|
scopes: ["scopes"],
|
500
500
|
expiresInMinutes: ["options", "expiresInMinutes"]
|
501
501
|
},
|
502
|
-
mapper:
|
502
|
+
mapper: {
|
503
|
+
...CommunicationIdentityAccessTokenRequest,
|
504
|
+
required: true
|
505
|
+
}
|
503
506
|
},
|
504
507
|
queryParameters: [apiVersion],
|
505
508
|
urlParameters: [endpoint, id],
|
@@ -522,7 +525,6 @@ class IdentityRestClient extends coreClient__namespace.ServiceClient {
|
|
522
525
|
* @param options The parameter options
|
523
526
|
*/
|
524
527
|
constructor(endpoint, options) {
|
525
|
-
var _a, _b;
|
526
528
|
if (endpoint === undefined) {
|
527
529
|
throw new Error("'endpoint' cannot be null");
|
528
530
|
}
|
@@ -537,9 +539,14 @@ class IdentityRestClient extends coreClient__namespace.ServiceClient {
|
|
537
539
|
const userAgentPrefix = options.userAgentOptions && options.userAgentOptions.userAgentPrefix
|
538
540
|
? `${options.userAgentOptions.userAgentPrefix} ${packageDetails}`
|
539
541
|
: `${packageDetails}`;
|
540
|
-
const optionsWithDefaults =
|
542
|
+
const optionsWithDefaults = {
|
543
|
+
...defaults,
|
544
|
+
...options,
|
545
|
+
userAgentOptions: {
|
541
546
|
userAgentPrefix
|
542
|
-
},
|
547
|
+
},
|
548
|
+
endpoint: options.endpoint ?? options.baseUri ?? "{endpoint}"
|
549
|
+
};
|
543
550
|
super(optionsWithDefaults);
|
544
551
|
// Parameter assignments
|
545
552
|
this.endpoint = endpoint;
|
@@ -594,12 +601,15 @@ class CommunicationIdentityClient {
|
|
594
601
|
const options = isCommunicationIdentityClientOptions(credentialOrOptions)
|
595
602
|
? credentialOrOptions
|
596
603
|
: maybeOptions;
|
597
|
-
const internalPipelineOptions =
|
598
|
-
|
599
|
-
|
604
|
+
const internalPipelineOptions = {
|
605
|
+
...options,
|
606
|
+
...{
|
607
|
+
loggingOptions: {
|
608
|
+
logger: logger.info,
|
609
|
+
},
|
600
610
|
},
|
601
|
-
}
|
602
|
-
this.client = new IdentityRestClient(url,
|
611
|
+
};
|
612
|
+
this.client = new IdentityRestClient(url, { endpoint: url, ...internalPipelineOptions });
|
603
613
|
const authPolicy = communicationCommon.createCommunicationAuthPolicy(credential);
|
604
614
|
this.client.pipeline.addPolicy(authPolicy);
|
605
615
|
}
|
@@ -612,7 +622,7 @@ class CommunicationIdentityClient {
|
|
612
622
|
*/
|
613
623
|
getToken(user, scopes, options = {}) {
|
614
624
|
return tracingClient.withSpan("CommunicationIdentity-issueToken", options, (updatedOptions) => {
|
615
|
-
return this.client.communicationIdentityOperations.issueAccessToken(user.communicationUserId, scopes,
|
625
|
+
return this.client.communicationIdentityOperations.issueAccessToken(user.communicationUserId, scopes, { expiresInMinutes: options.tokenExpiresInMinutes, ...updatedOptions });
|
616
626
|
});
|
617
627
|
}
|
618
628
|
/**
|
@@ -633,7 +643,10 @@ class CommunicationIdentityClient {
|
|
633
643
|
*/
|
634
644
|
createUser(options = {}) {
|
635
645
|
return tracingClient.withSpan("CommunicationIdentity-createUser", options, async (updatedOptions) => {
|
636
|
-
const result = await this.client.communicationIdentityOperations.create(
|
646
|
+
const result = await this.client.communicationIdentityOperations.create({
|
647
|
+
expiresInMinutes: undefined,
|
648
|
+
...updatedOptions,
|
649
|
+
});
|
637
650
|
return {
|
638
651
|
communicationUserId: result.identity.id,
|
639
652
|
};
|
@@ -647,8 +660,15 @@ class CommunicationIdentityClient {
|
|
647
660
|
*/
|
648
661
|
createUserAndToken(scopes, options = {}) {
|
649
662
|
return tracingClient.withSpan("CommunicationIdentity-createUserAndToken", options, async (updatedOptions) => {
|
650
|
-
const { identity, accessToken } = await this.client.communicationIdentityOperations.create(
|
651
|
-
|
663
|
+
const { identity, accessToken } = await this.client.communicationIdentityOperations.create({
|
664
|
+
createTokenWithScopes: scopes,
|
665
|
+
expiresInMinutes: options.tokenExpiresInMinutes,
|
666
|
+
...updatedOptions,
|
667
|
+
});
|
668
|
+
return {
|
669
|
+
...accessToken,
|
670
|
+
user: { communicationUserId: identity.id },
|
671
|
+
};
|
652
672
|
});
|
653
673
|
}
|
654
674
|
/**
|
package/dist/index.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../src/generated/src/tracing.ts","../src/generated/src/models/mappers.ts","../src/generated/src/models/parameters.ts","../src/generated/src/operations/communicationIdentityOperations.ts","../src/generated/src/identityRestClient.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 { createTracingClient } from \"@azure/core-tracing\";\n\nexport const tracingClient = createTracingClient({\n namespace: \"Microsoft.Communication\",\n packageName: \"@azure/communication-identity\",\n packageVersion: \"1.3.1\"\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\";\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 expiresInMinutes: {\n defaultValue: 1440,\n constraints: {\n InclusiveMaximum: 1440,\n InclusiveMinimum: 60\n },\n serializedName: \"expiresInMinutes\",\n type: {\n name: \"Number\"\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 expiresInMinutes: {\n defaultValue: 1440,\n constraints: {\n InclusiveMaximum: 1440,\n InclusiveMinimum: 60\n },\n serializedName: \"expiresInMinutes\",\n type: {\n name: \"Number\"\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 expiresInMinutes: OperationParameter = {\n parameterPath: [\"options\", \"expiresInMinutes\"],\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: \"2023-10-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\nexport const expiresInMinutes1: OperationParameter = {\n parameterPath: [\"options\", \"expiresInMinutes\"],\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 { tracingClient } from \"../tracing\";\nimport { CommunicationIdentityOperations } from \"../operationsInterfaces\";\nimport * as coreClient from \"@azure/core-client\";\nimport * as Mappers from \"../models/mappers\";\nimport * as Parameters from \"../models/parameters\";\nimport { IdentityRestClient } from \"../identityRestClient\";\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: IdentityRestClient;\n\n /**\n * Initialize a new instance of the class CommunicationIdentityOperations class.\n * @param client Reference to the service client\n */\n constructor(client: IdentityRestClient) {\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 async create(\n options?: CommunicationIdentityCreateOptionalParams\n ): Promise<CommunicationIdentityCreateResponse> {\n return tracingClient.withSpan(\n \"IdentityRestClient.create\",\n options ?? {},\n async (options) => {\n return this.client.sendOperationRequest(\n { options },\n createOperationSpec\n ) as Promise<CommunicationIdentityCreateResponse>;\n }\n );\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 async delete(\n id: string,\n options?: CommunicationIdentityDeleteOptionalParams\n ): Promise<void> {\n return tracingClient.withSpan(\n \"IdentityRestClient.delete\",\n options ?? {},\n async (options) => {\n return this.client.sendOperationRequest(\n { id, options },\n deleteOperationSpec\n ) as Promise<void>;\n }\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 async revokeAccessTokens(\n id: string,\n options?: CommunicationIdentityRevokeAccessTokensOptionalParams\n ): Promise<void> {\n return tracingClient.withSpan(\n \"IdentityRestClient.revokeAccessTokens\",\n options ?? {},\n async (options) => {\n return this.client.sendOperationRequest(\n { id, options },\n revokeAccessTokensOperationSpec\n ) as Promise<void>;\n }\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 async exchangeTeamsUserAccessToken(\n token: string,\n appId: string,\n userId: string,\n options?: CommunicationIdentityExchangeTeamsUserAccessTokenOptionalParams\n ): Promise<CommunicationIdentityExchangeTeamsUserAccessTokenResponse> {\n return tracingClient.withSpan(\n \"IdentityRestClient.exchangeTeamsUserAccessToken\",\n options ?? {},\n async (options) => {\n return this.client.sendOperationRequest(\n { token, appId, userId, options },\n exchangeTeamsUserAccessTokenOperationSpec\n ) as Promise<CommunicationIdentityExchangeTeamsUserAccessTokenResponse>;\n }\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 async issueAccessToken(\n id: string,\n scopes: CommunicationIdentityTokenScope[],\n options?: CommunicationIdentityIssueAccessTokenOptionalParams\n ): Promise<CommunicationIdentityIssueAccessTokenResponse> {\n return tracingClient.withSpan(\n \"IdentityRestClient.issueAccessToken\",\n options ?? {},\n async (options) => {\n return this.client.sendOperationRequest(\n { id, scopes, options },\n issueAccessTokenOperationSpec\n ) as Promise<CommunicationIdentityIssueAccessTokenResponse>;\n }\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 expiresInMinutes: [\"options\", \"expiresInMinutes\"]\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: {\n scopes: [\"scopes\"],\n expiresInMinutes: [\"options\", \"expiresInMinutes\"]\n },\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 {\n PipelineRequest,\n PipelineResponse,\n SendRequest\n} from \"@azure/core-rest-pipeline\";\nimport { CommunicationIdentityOperationsImpl } from \"./operations\";\nimport { CommunicationIdentityOperations } from \"./operationsInterfaces\";\nimport { IdentityRestClientOptionalParams } from \"./models\";\n\nexport class IdentityRestClient extends coreClient.ServiceClient {\n endpoint: string;\n apiVersion: string;\n\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 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.3.1`;\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 endpoint: options.endpoint ?? options.baseUri ?? \"{endpoint}\"\n };\n super(optionsWithDefaults);\n // Parameter assignments\n this.endpoint = endpoint;\n\n // Assigning values to Constant parameters\n this.apiVersion = options.apiVersion || \"2023-10-01\";\n this.communicationIdentityOperations = new CommunicationIdentityOperationsImpl(\n this\n );\n this.addCustomApiVersionPolicy(options.apiVersion);\n }\n\n /** A function that adds a policy that sets the api-version (or equivalent) to reflect the library version. */\n private addCustomApiVersionPolicy(apiVersion?: string) {\n if (!apiVersion) {\n return;\n }\n const apiVersionPolicy = {\n name: \"CustomApiVersionPolicy\",\n async sendRequest(\n request: PipelineRequest,\n next: SendRequest\n ): Promise<PipelineResponse> {\n const param = request.url.split(\"?\");\n if (param.length > 1) {\n const newParams = param[1].split(\"&\").map((item) => {\n if (item.indexOf(\"api-version\") > -1) {\n return \"api-version=\" + apiVersion;\n } else {\n return item;\n }\n });\n request.url = param[0] + \"?\" + newParams.join(\"&\");\n }\n return next(request);\n }\n };\n this.pipeline.addPolicy(apiVersionPolicy);\n }\n\n communicationIdentityOperations: CommunicationIdentityOperations;\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 CreateUserAndTokenOptions,\n GetTokenOptions,\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 { logger } from \"./common/logger\";\nimport { tracingClient } from \"./generated/src/tracing\";\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 getToken(\n user: CommunicationUserIdentifier,\n scopes: TokenScope[],\n options: GetTokenOptions = {}\n ): Promise<CommunicationAccessToken> {\n return tracingClient.withSpan(\"CommunicationIdentity-issueToken\", options, (updatedOptions) => {\n return this.client.communicationIdentityOperations.issueAccessToken(\n user.communicationUserId,\n scopes,\n { expiresInMinutes: options.tokenExpiresInMinutes, ...updatedOptions }\n );\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 revokeTokens(\n user: CommunicationUserIdentifier,\n options: OperationOptions = {}\n ): Promise<void> {\n return tracingClient.withSpan(\n \"CommunicationIdentity-revokeTokens\",\n options,\n async (updatedOptions) => {\n await this.client.communicationIdentityOperations.revokeAccessTokens(\n user.communicationUserId,\n updatedOptions\n );\n }\n );\n }\n\n /**\n * Creates a single user.\n *\n * @param options - Additional options for the request.\n */\n public createUser(options: OperationOptions = {}): Promise<CommunicationUserIdentifier> {\n return tracingClient.withSpan(\n \"CommunicationIdentity-createUser\",\n options,\n async (updatedOptions) => {\n const result = await this.client.communicationIdentityOperations.create({\n expiresInMinutes: undefined,\n ...updatedOptions,\n });\n return {\n communicationUserId: result.identity.id,\n };\n }\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 createUserAndToken(\n scopes: TokenScope[],\n options: CreateUserAndTokenOptions = {}\n ): Promise<CommunicationUserToken> {\n return tracingClient.withSpan(\n \"CommunicationIdentity-createUserAndToken\",\n options,\n async (updatedOptions) => {\n const { identity, accessToken } = await this.client.communicationIdentityOperations.create({\n createTokenWithScopes: scopes,\n expiresInMinutes: options.tokenExpiresInMinutes,\n ...updatedOptions,\n });\n return {\n ...accessToken!,\n user: { communicationUserId: identity.id },\n };\n }\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 deleteUser(\n user: CommunicationUserIdentifier,\n options: OperationOptions = {}\n ): Promise<void> {\n return tracingClient.withSpan(\n \"CommunicationIdentity-deleteUser\",\n options,\n async (updatedOptions) => {\n await this.client.communicationIdentityOperations.delete(\n user.communicationUserId,\n updatedOptions\n );\n }\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 getTokenForTeamsUser(\n options: GetTokenForTeamsUserOptions\n ): Promise<CommunicationAccessToken> {\n return tracingClient.withSpan(\n \"CommunicationIdentity-getTokenForTeamsUser\",\n options,\n (updatedOptions) => {\n const { teamsUserAadToken, clientId, userObjectId } = updatedOptions;\n return this.client.communicationIdentityOperations.exchangeTeamsUserAccessToken(\n teamsUserAadToken,\n clientId,\n userObjectId,\n updatedOptions\n );\n }\n );\n }\n}\n"],"names":["createTracingClient","coreClient","Mappers.CommunicationIdentityAccessTokenResult","Mappers.CommunicationErrorResponse","Mappers.CommunicationIdentityCreateRequest","Parameters.apiVersion","Parameters.endpoint","Parameters.contentType","Parameters.accept","Parameters.id","Mappers.CommunicationIdentityAccessToken","Mappers.TeamsUserExchangeTokenRequest","Mappers.CommunicationIdentityAccessTokenRequest","createClientLogger","isTokenCredential","isKeyCredential","parseClientArguments","createCommunicationAuthPolicy"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"index.js","sources":["../src/generated/src/tracing.ts","../src/generated/src/models/mappers.ts","../src/generated/src/models/parameters.ts","../src/generated/src/operations/communicationIdentityOperations.ts","../src/generated/src/identityRestClient.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 { createTracingClient } from \"@azure/core-tracing\";\n\nexport const tracingClient = createTracingClient({\n namespace: \"Microsoft.Communication\",\n packageName: \"@azure/communication-identity\",\n packageVersion: \"1.3.1\"\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\";\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 expiresInMinutes: {\n defaultValue: 1440,\n constraints: {\n InclusiveMaximum: 1440,\n InclusiveMinimum: 60\n },\n serializedName: \"expiresInMinutes\",\n type: {\n name: \"Number\"\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 expiresInMinutes: {\n defaultValue: 1440,\n constraints: {\n InclusiveMaximum: 1440,\n InclusiveMinimum: 60\n },\n serializedName: \"expiresInMinutes\",\n type: {\n name: \"Number\"\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 expiresInMinutes: OperationParameter = {\n parameterPath: [\"options\", \"expiresInMinutes\"],\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: \"2023-10-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\nexport const expiresInMinutes1: OperationParameter = {\n parameterPath: [\"options\", \"expiresInMinutes\"],\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 { tracingClient } from \"../tracing\";\nimport { CommunicationIdentityOperations } from \"../operationsInterfaces\";\nimport * as coreClient from \"@azure/core-client\";\nimport * as Mappers from \"../models/mappers\";\nimport * as Parameters from \"../models/parameters\";\nimport { IdentityRestClient } from \"../identityRestClient\";\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: IdentityRestClient;\n\n /**\n * Initialize a new instance of the class CommunicationIdentityOperations class.\n * @param client Reference to the service client\n */\n constructor(client: IdentityRestClient) {\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 async create(\n options?: CommunicationIdentityCreateOptionalParams\n ): Promise<CommunicationIdentityCreateResponse> {\n return tracingClient.withSpan(\n \"IdentityRestClient.create\",\n options ?? {},\n async (options) => {\n return this.client.sendOperationRequest(\n { options },\n createOperationSpec\n ) as Promise<CommunicationIdentityCreateResponse>;\n }\n );\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 async delete(\n id: string,\n options?: CommunicationIdentityDeleteOptionalParams\n ): Promise<void> {\n return tracingClient.withSpan(\n \"IdentityRestClient.delete\",\n options ?? {},\n async (options) => {\n return this.client.sendOperationRequest(\n { id, options },\n deleteOperationSpec\n ) as Promise<void>;\n }\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 async revokeAccessTokens(\n id: string,\n options?: CommunicationIdentityRevokeAccessTokensOptionalParams\n ): Promise<void> {\n return tracingClient.withSpan(\n \"IdentityRestClient.revokeAccessTokens\",\n options ?? {},\n async (options) => {\n return this.client.sendOperationRequest(\n { id, options },\n revokeAccessTokensOperationSpec\n ) as Promise<void>;\n }\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 async exchangeTeamsUserAccessToken(\n token: string,\n appId: string,\n userId: string,\n options?: CommunicationIdentityExchangeTeamsUserAccessTokenOptionalParams\n ): Promise<CommunicationIdentityExchangeTeamsUserAccessTokenResponse> {\n return tracingClient.withSpan(\n \"IdentityRestClient.exchangeTeamsUserAccessToken\",\n options ?? {},\n async (options) => {\n return this.client.sendOperationRequest(\n { token, appId, userId, options },\n exchangeTeamsUserAccessTokenOperationSpec\n ) as Promise<CommunicationIdentityExchangeTeamsUserAccessTokenResponse>;\n }\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 async issueAccessToken(\n id: string,\n scopes: CommunicationIdentityTokenScope[],\n options?: CommunicationIdentityIssueAccessTokenOptionalParams\n ): Promise<CommunicationIdentityIssueAccessTokenResponse> {\n return tracingClient.withSpan(\n \"IdentityRestClient.issueAccessToken\",\n options ?? {},\n async (options) => {\n return this.client.sendOperationRequest(\n { id, scopes, options },\n issueAccessTokenOperationSpec\n ) as Promise<CommunicationIdentityIssueAccessTokenResponse>;\n }\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 expiresInMinutes: [\"options\", \"expiresInMinutes\"]\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: {\n scopes: [\"scopes\"],\n expiresInMinutes: [\"options\", \"expiresInMinutes\"]\n },\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 {\n PipelineRequest,\n PipelineResponse,\n SendRequest\n} from \"@azure/core-rest-pipeline\";\nimport { CommunicationIdentityOperationsImpl } from \"./operations\";\nimport { CommunicationIdentityOperations } from \"./operationsInterfaces\";\nimport { IdentityRestClientOptionalParams } from \"./models\";\n\nexport class IdentityRestClient extends coreClient.ServiceClient {\n endpoint: string;\n apiVersion: string;\n\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 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.3.1`;\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 endpoint: options.endpoint ?? options.baseUri ?? \"{endpoint}\"\n };\n super(optionsWithDefaults);\n // Parameter assignments\n this.endpoint = endpoint;\n\n // Assigning values to Constant parameters\n this.apiVersion = options.apiVersion || \"2023-10-01\";\n this.communicationIdentityOperations = new CommunicationIdentityOperationsImpl(\n this\n );\n this.addCustomApiVersionPolicy(options.apiVersion);\n }\n\n /** A function that adds a policy that sets the api-version (or equivalent) to reflect the library version. */\n private addCustomApiVersionPolicy(apiVersion?: string) {\n if (!apiVersion) {\n return;\n }\n const apiVersionPolicy = {\n name: \"CustomApiVersionPolicy\",\n async sendRequest(\n request: PipelineRequest,\n next: SendRequest\n ): Promise<PipelineResponse> {\n const param = request.url.split(\"?\");\n if (param.length > 1) {\n const newParams = param[1].split(\"&\").map((item) => {\n if (item.indexOf(\"api-version\") > -1) {\n return \"api-version=\" + apiVersion;\n } else {\n return item;\n }\n });\n request.url = param[0] + \"?\" + newParams.join(\"&\");\n }\n return next(request);\n }\n };\n this.pipeline.addPolicy(apiVersionPolicy);\n }\n\n communicationIdentityOperations: CommunicationIdentityOperations;\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 CreateUserAndTokenOptions,\n GetTokenOptions,\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 { logger } from \"./common/logger\";\nimport { tracingClient } from \"./generated/src/tracing\";\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 getToken(\n user: CommunicationUserIdentifier,\n scopes: TokenScope[],\n options: GetTokenOptions = {},\n ): Promise<CommunicationAccessToken> {\n return tracingClient.withSpan(\"CommunicationIdentity-issueToken\", options, (updatedOptions) => {\n return this.client.communicationIdentityOperations.issueAccessToken(\n user.communicationUserId,\n scopes,\n { expiresInMinutes: options.tokenExpiresInMinutes, ...updatedOptions },\n );\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 revokeTokens(\n user: CommunicationUserIdentifier,\n options: OperationOptions = {},\n ): Promise<void> {\n return tracingClient.withSpan(\n \"CommunicationIdentity-revokeTokens\",\n options,\n async (updatedOptions) => {\n await this.client.communicationIdentityOperations.revokeAccessTokens(\n user.communicationUserId,\n updatedOptions,\n );\n },\n );\n }\n\n /**\n * Creates a single user.\n *\n * @param options - Additional options for the request.\n */\n public createUser(options: OperationOptions = {}): Promise<CommunicationUserIdentifier> {\n return tracingClient.withSpan(\n \"CommunicationIdentity-createUser\",\n options,\n async (updatedOptions) => {\n const result = await this.client.communicationIdentityOperations.create({\n expiresInMinutes: undefined,\n ...updatedOptions,\n });\n return {\n communicationUserId: result.identity.id,\n };\n },\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 createUserAndToken(\n scopes: TokenScope[],\n options: CreateUserAndTokenOptions = {},\n ): Promise<CommunicationUserToken> {\n return tracingClient.withSpan(\n \"CommunicationIdentity-createUserAndToken\",\n options,\n async (updatedOptions) => {\n const { identity, accessToken } = await this.client.communicationIdentityOperations.create({\n createTokenWithScopes: scopes,\n expiresInMinutes: options.tokenExpiresInMinutes,\n ...updatedOptions,\n });\n return {\n ...accessToken!,\n user: { communicationUserId: identity.id },\n };\n },\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 deleteUser(\n user: CommunicationUserIdentifier,\n options: OperationOptions = {},\n ): Promise<void> {\n return tracingClient.withSpan(\n \"CommunicationIdentity-deleteUser\",\n options,\n async (updatedOptions) => {\n await this.client.communicationIdentityOperations.delete(\n user.communicationUserId,\n updatedOptions,\n );\n },\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 getTokenForTeamsUser(\n options: GetTokenForTeamsUserOptions,\n ): Promise<CommunicationAccessToken> {\n return tracingClient.withSpan(\n \"CommunicationIdentity-getTokenForTeamsUser\",\n options,\n (updatedOptions) => {\n const { teamsUserAadToken, clientId, userObjectId } = updatedOptions;\n return this.client.communicationIdentityOperations.exchangeTeamsUserAccessToken(\n teamsUserAadToken,\n clientId,\n userObjectId,\n updatedOptions,\n );\n },\n );\n }\n}\n"],"names":["createTracingClient","coreClient","Mappers.CommunicationIdentityAccessTokenResult","Mappers.CommunicationErrorResponse","Mappers.CommunicationIdentityCreateRequest","Parameters.apiVersion","Parameters.endpoint","Parameters.contentType","Parameters.accept","Parameters.id","Mappers.CommunicationIdentityAccessToken","Mappers.TeamsUserExchangeTokenRequest","Mappers.CommunicationIdentityAccessTokenRequest","createClientLogger","isTokenCredential","isKeyCredential","parseClientArguments","createCommunicationAuthPolicy"],"mappings":"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"}
|
@@ -15,12 +15,15 @@ export class CommunicationIdentityClient {
|
|
15
15
|
const options = isCommunicationIdentityClientOptions(credentialOrOptions)
|
16
16
|
? credentialOrOptions
|
17
17
|
: maybeOptions;
|
18
|
-
const internalPipelineOptions =
|
19
|
-
|
20
|
-
|
18
|
+
const internalPipelineOptions = {
|
19
|
+
...options,
|
20
|
+
...{
|
21
|
+
loggingOptions: {
|
22
|
+
logger: logger.info,
|
23
|
+
},
|
21
24
|
},
|
22
|
-
}
|
23
|
-
this.client = new IdentityRestClient(url,
|
25
|
+
};
|
26
|
+
this.client = new IdentityRestClient(url, { endpoint: url, ...internalPipelineOptions });
|
24
27
|
const authPolicy = createCommunicationAuthPolicy(credential);
|
25
28
|
this.client.pipeline.addPolicy(authPolicy);
|
26
29
|
}
|
@@ -33,7 +36,7 @@ export class CommunicationIdentityClient {
|
|
33
36
|
*/
|
34
37
|
getToken(user, scopes, options = {}) {
|
35
38
|
return tracingClient.withSpan("CommunicationIdentity-issueToken", options, (updatedOptions) => {
|
36
|
-
return this.client.communicationIdentityOperations.issueAccessToken(user.communicationUserId, scopes,
|
39
|
+
return this.client.communicationIdentityOperations.issueAccessToken(user.communicationUserId, scopes, { expiresInMinutes: options.tokenExpiresInMinutes, ...updatedOptions });
|
37
40
|
});
|
38
41
|
}
|
39
42
|
/**
|
@@ -54,7 +57,10 @@ export class CommunicationIdentityClient {
|
|
54
57
|
*/
|
55
58
|
createUser(options = {}) {
|
56
59
|
return tracingClient.withSpan("CommunicationIdentity-createUser", options, async (updatedOptions) => {
|
57
|
-
const result = await this.client.communicationIdentityOperations.create(
|
60
|
+
const result = await this.client.communicationIdentityOperations.create({
|
61
|
+
expiresInMinutes: undefined,
|
62
|
+
...updatedOptions,
|
63
|
+
});
|
58
64
|
return {
|
59
65
|
communicationUserId: result.identity.id,
|
60
66
|
};
|
@@ -68,8 +74,15 @@ export class CommunicationIdentityClient {
|
|
68
74
|
*/
|
69
75
|
createUserAndToken(scopes, options = {}) {
|
70
76
|
return tracingClient.withSpan("CommunicationIdentity-createUserAndToken", options, async (updatedOptions) => {
|
71
|
-
const { identity, accessToken } = await this.client.communicationIdentityOperations.create(
|
72
|
-
|
77
|
+
const { identity, accessToken } = await this.client.communicationIdentityOperations.create({
|
78
|
+
createTokenWithScopes: scopes,
|
79
|
+
expiresInMinutes: options.tokenExpiresInMinutes,
|
80
|
+
...updatedOptions,
|
81
|
+
});
|
82
|
+
return {
|
83
|
+
...accessToken,
|
84
|
+
user: { communicationUserId: identity.id },
|
85
|
+
};
|
73
86
|
});
|
74
87
|
}
|
75
88
|
/**
|
@@ -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 GetTokenForTeamsUserOptions,\n CreateUserAndTokenOptions,\n GetTokenOptions,\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 { logger } from \"./common/logger\";\nimport { tracingClient } from \"./generated/src/tracing\";\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 getToken(\n user: CommunicationUserIdentifier,\n scopes: TokenScope[],\n options: GetTokenOptions = {}\n ): Promise<CommunicationAccessToken> {\n return tracingClient.withSpan(\"CommunicationIdentity-issueToken\", options, (updatedOptions) => {\n return this.client.communicationIdentityOperations.issueAccessToken(\n user.communicationUserId,\n scopes,\n { expiresInMinutes: options.tokenExpiresInMinutes, ...updatedOptions }\n );\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 revokeTokens(\n user: CommunicationUserIdentifier,\n options: OperationOptions = {}\n ): Promise<void> {\n return tracingClient.withSpan(\n \"CommunicationIdentity-revokeTokens\",\n options,\n async (updatedOptions) => {\n await this.client.communicationIdentityOperations.revokeAccessTokens(\n user.communicationUserId,\n updatedOptions\n );\n }\n );\n }\n\n /**\n * Creates a single user.\n *\n * @param options - Additional options for the request.\n */\n public createUser(options: OperationOptions = {}): Promise<CommunicationUserIdentifier> {\n return tracingClient.withSpan(\n \"CommunicationIdentity-createUser\",\n options,\n async (updatedOptions) => {\n const result = await this.client.communicationIdentityOperations.create({\n expiresInMinutes: undefined,\n ...updatedOptions,\n });\n return {\n communicationUserId: result.identity.id,\n };\n }\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 createUserAndToken(\n scopes: TokenScope[],\n options: CreateUserAndTokenOptions = {}\n ): Promise<CommunicationUserToken> {\n return tracingClient.withSpan(\n \"CommunicationIdentity-createUserAndToken\",\n options,\n async (updatedOptions) => {\n const { identity, accessToken } = await this.client.communicationIdentityOperations.create({\n createTokenWithScopes: scopes,\n expiresInMinutes: options.tokenExpiresInMinutes,\n ...updatedOptions,\n });\n return {\n ...accessToken!,\n user: { communicationUserId: identity.id },\n };\n }\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 deleteUser(\n user: CommunicationUserIdentifier,\n options: OperationOptions = {}\n ): Promise<void> {\n return tracingClient.withSpan(\n \"CommunicationIdentity-deleteUser\",\n options,\n async (updatedOptions) => {\n await this.client.communicationIdentityOperations.delete(\n user.communicationUserId,\n updatedOptions\n );\n }\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 getTokenForTeamsUser(\n options: GetTokenForTeamsUserOptions\n ): Promise<CommunicationAccessToken> {\n return tracingClient.withSpan(\n \"CommunicationIdentity-getTokenForTeamsUser\",\n options,\n (updatedOptions) => {\n const { teamsUserAadToken, clientId, userObjectId } = updatedOptions;\n return this.client.communicationIdentityOperations.exchangeTeamsUserAccessToken(\n teamsUserAadToken,\n clientId,\n userObjectId,\n updatedOptions\n );\n }\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 CreateUserAndTokenOptions,\n GetTokenOptions,\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 { logger } from \"./common/logger\";\nimport { tracingClient } from \"./generated/src/tracing\";\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 getToken(\n user: CommunicationUserIdentifier,\n scopes: TokenScope[],\n options: GetTokenOptions = {},\n ): Promise<CommunicationAccessToken> {\n return tracingClient.withSpan(\"CommunicationIdentity-issueToken\", options, (updatedOptions) => {\n return this.client.communicationIdentityOperations.issueAccessToken(\n user.communicationUserId,\n scopes,\n { expiresInMinutes: options.tokenExpiresInMinutes, ...updatedOptions },\n );\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 revokeTokens(\n user: CommunicationUserIdentifier,\n options: OperationOptions = {},\n ): Promise<void> {\n return tracingClient.withSpan(\n \"CommunicationIdentity-revokeTokens\",\n options,\n async (updatedOptions) => {\n await this.client.communicationIdentityOperations.revokeAccessTokens(\n user.communicationUserId,\n updatedOptions,\n );\n },\n );\n }\n\n /**\n * Creates a single user.\n *\n * @param options - Additional options for the request.\n */\n public createUser(options: OperationOptions = {}): Promise<CommunicationUserIdentifier> {\n return tracingClient.withSpan(\n \"CommunicationIdentity-createUser\",\n options,\n async (updatedOptions) => {\n const result = await this.client.communicationIdentityOperations.create({\n expiresInMinutes: undefined,\n ...updatedOptions,\n });\n return {\n communicationUserId: result.identity.id,\n };\n },\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 createUserAndToken(\n scopes: TokenScope[],\n options: CreateUserAndTokenOptions = {},\n ): Promise<CommunicationUserToken> {\n return tracingClient.withSpan(\n \"CommunicationIdentity-createUserAndToken\",\n options,\n async (updatedOptions) => {\n const { identity, accessToken } = await this.client.communicationIdentityOperations.create({\n createTokenWithScopes: scopes,\n expiresInMinutes: options.tokenExpiresInMinutes,\n ...updatedOptions,\n });\n return {\n ...accessToken!,\n user: { communicationUserId: identity.id },\n };\n },\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 deleteUser(\n user: CommunicationUserIdentifier,\n options: OperationOptions = {},\n ): Promise<void> {\n return tracingClient.withSpan(\n \"CommunicationIdentity-deleteUser\",\n options,\n async (updatedOptions) => {\n await this.client.communicationIdentityOperations.delete(\n user.communicationUserId,\n updatedOptions,\n );\n },\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 getTokenForTeamsUser(\n options: GetTokenForTeamsUserOptions,\n ): Promise<CommunicationAccessToken> {\n return tracingClient.withSpan(\n \"CommunicationIdentity-getTokenForTeamsUser\",\n options,\n (updatedOptions) => {\n const { teamsUserAadToken, clientId, userObjectId } = updatedOptions;\n return this.client.communicationIdentityOperations.exchangeTeamsUserAccessToken(\n teamsUserAadToken,\n clientId,\n userObjectId,\n updatedOptions,\n );\n },\n );\n }\n}\n"]}
|
@@ -14,7 +14,6 @@ export class IdentityRestClient extends coreClient.ServiceClient {
|
|
14
14
|
* @param options The parameter options
|
15
15
|
*/
|
16
16
|
constructor(endpoint, options) {
|
17
|
-
var _a, _b;
|
18
17
|
if (endpoint === undefined) {
|
19
18
|
throw new Error("'endpoint' cannot be null");
|
20
19
|
}
|
@@ -29,9 +28,14 @@ export class IdentityRestClient extends coreClient.ServiceClient {
|
|
29
28
|
const userAgentPrefix = options.userAgentOptions && options.userAgentOptions.userAgentPrefix
|
30
29
|
? `${options.userAgentOptions.userAgentPrefix} ${packageDetails}`
|
31
30
|
: `${packageDetails}`;
|
32
|
-
const optionsWithDefaults =
|
31
|
+
const optionsWithDefaults = {
|
32
|
+
...defaults,
|
33
|
+
...options,
|
34
|
+
userAgentOptions: {
|
33
35
|
userAgentPrefix
|
34
|
-
},
|
36
|
+
},
|
37
|
+
endpoint: options.endpoint ?? options.baseUri ?? "{endpoint}"
|
38
|
+
};
|
35
39
|
super(optionsWithDefaults);
|
36
40
|
// Parameter assignments
|
37
41
|
this.endpoint = endpoint;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"identityRestClient.js","sourceRoot":"","sources":["../../../../src/generated/src/identityRestClient.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,UAAU,MAAM,oBAAoB,CAAC;AAMjD,OAAO,EAAE,mCAAmC,EAAE,MAAM,cAAc,CAAC;AAInE,MAAM,OAAO,kBAAmB,SAAQ,UAAU,CAAC,aAAa;IAI9D;;;;OAIG;IACH,YAAY,QAAgB,EAAE,OAA0C
|
1
|
+
{"version":3,"file":"identityRestClient.js","sourceRoot":"","sources":["../../../../src/generated/src/identityRestClient.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,UAAU,MAAM,oBAAoB,CAAC;AAMjD,OAAO,EAAE,mCAAmC,EAAE,MAAM,cAAc,CAAC;AAInE,MAAM,OAAO,kBAAmB,SAAQ,UAAU,CAAC,aAAa;IAI9D;;;;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,GAAG;YAC1B,GAAG,QAAQ;YACX,GAAG,OAAO;YACV,gBAAgB,EAAE;gBAChB,eAAe;aAChB;YACD,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,OAAO,IAAI,YAAY;SAC9D,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;QACrD,IAAI,CAAC,+BAA+B,GAAG,IAAI,mCAAmC,CAC5E,IAAI,CACL,CAAC;QACF,IAAI,CAAC,yBAAyB,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IACrD,CAAC;IAED,8GAA8G;IACtG,yBAAyB,CAAC,UAAmB;QACnD,IAAI,CAAC,UAAU,EAAE;YACf,OAAO;SACR;QACD,MAAM,gBAAgB,GAAG;YACvB,IAAI,EAAE,wBAAwB;YAC9B,KAAK,CAAC,WAAW,CACf,OAAwB,EACxB,IAAiB;gBAEjB,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACrC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;oBACpB,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;wBACjD,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,EAAE;4BACpC,OAAO,cAAc,GAAG,UAAU,CAAC;yBACpC;6BAAM;4BACL,OAAO,IAAI,CAAC;yBACb;oBACH,CAAC,CAAC,CAAC;oBACH,OAAO,CAAC,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;iBACpD;gBACD,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC;YACvB,CAAC;SACF,CAAC;QACF,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;IAC5C,CAAC;CAGF","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 {\n PipelineRequest,\n PipelineResponse,\n SendRequest\n} from \"@azure/core-rest-pipeline\";\nimport { CommunicationIdentityOperationsImpl } from \"./operations\";\nimport { CommunicationIdentityOperations } from \"./operationsInterfaces\";\nimport { IdentityRestClientOptionalParams } from \"./models\";\n\nexport class IdentityRestClient extends coreClient.ServiceClient {\n endpoint: string;\n apiVersion: string;\n\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 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.3.1`;\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 endpoint: options.endpoint ?? options.baseUri ?? \"{endpoint}\"\n };\n super(optionsWithDefaults);\n // Parameter assignments\n this.endpoint = endpoint;\n\n // Assigning values to Constant parameters\n this.apiVersion = options.apiVersion || \"2023-10-01\";\n this.communicationIdentityOperations = new CommunicationIdentityOperationsImpl(\n this\n );\n this.addCustomApiVersionPolicy(options.apiVersion);\n }\n\n /** A function that adds a policy that sets the api-version (or equivalent) to reflect the library version. */\n private addCustomApiVersionPolicy(apiVersion?: string) {\n if (!apiVersion) {\n return;\n }\n const apiVersionPolicy = {\n name: \"CustomApiVersionPolicy\",\n async sendRequest(\n request: PipelineRequest,\n next: SendRequest\n ): Promise<PipelineResponse> {\n const param = request.url.split(\"?\");\n if (param.length > 1) {\n const newParams = param[1].split(\"&\").map((item) => {\n if (item.indexOf(\"api-version\") > -1) {\n return \"api-version=\" + apiVersion;\n } else {\n return item;\n }\n });\n request.url = param[0] + \"?\" + newParams.join(\"&\");\n }\n return next(request);\n }\n };\n this.pipeline.addPolicy(apiVersionPolicy);\n }\n\n communicationIdentityOperations: CommunicationIdentityOperations;\n}\n"]}
|
@@ -23,7 +23,7 @@ export class CommunicationIdentityOperationsImpl {
|
|
23
23
|
* @param options The options parameters.
|
24
24
|
*/
|
25
25
|
async create(options) {
|
26
|
-
return tracingClient.withSpan("IdentityRestClient.create", options
|
26
|
+
return tracingClient.withSpan("IdentityRestClient.create", options ?? {}, async (options) => {
|
27
27
|
return this.client.sendOperationRequest({ options }, createOperationSpec);
|
28
28
|
});
|
29
29
|
}
|
@@ -33,7 +33,7 @@ export class CommunicationIdentityOperationsImpl {
|
|
33
33
|
* @param options The options parameters.
|
34
34
|
*/
|
35
35
|
async delete(id, options) {
|
36
|
-
return tracingClient.withSpan("IdentityRestClient.delete", options
|
36
|
+
return tracingClient.withSpan("IdentityRestClient.delete", options ?? {}, async (options) => {
|
37
37
|
return this.client.sendOperationRequest({ id, options }, deleteOperationSpec);
|
38
38
|
});
|
39
39
|
}
|
@@ -43,7 +43,7 @@ export class CommunicationIdentityOperationsImpl {
|
|
43
43
|
* @param options The options parameters.
|
44
44
|
*/
|
45
45
|
async revokeAccessTokens(id, options) {
|
46
|
-
return tracingClient.withSpan("IdentityRestClient.revokeAccessTokens", options
|
46
|
+
return tracingClient.withSpan("IdentityRestClient.revokeAccessTokens", options ?? {}, async (options) => {
|
47
47
|
return this.client.sendOperationRequest({ id, options }, revokeAccessTokensOperationSpec);
|
48
48
|
});
|
49
49
|
}
|
@@ -59,7 +59,7 @@ export class CommunicationIdentityOperationsImpl {
|
|
59
59
|
* @param options The options parameters.
|
60
60
|
*/
|
61
61
|
async exchangeTeamsUserAccessToken(token, appId, userId, options) {
|
62
|
-
return tracingClient.withSpan("IdentityRestClient.exchangeTeamsUserAccessToken", options
|
62
|
+
return tracingClient.withSpan("IdentityRestClient.exchangeTeamsUserAccessToken", options ?? {}, async (options) => {
|
63
63
|
return this.client.sendOperationRequest({ token, appId, userId, options }, exchangeTeamsUserAccessTokenOperationSpec);
|
64
64
|
});
|
65
65
|
}
|
@@ -70,7 +70,7 @@ export class CommunicationIdentityOperationsImpl {
|
|
70
70
|
* @param options The options parameters.
|
71
71
|
*/
|
72
72
|
async issueAccessToken(id, scopes, options) {
|
73
|
-
return tracingClient.withSpan("IdentityRestClient.issueAccessToken", options
|
73
|
+
return tracingClient.withSpan("IdentityRestClient.issueAccessToken", options ?? {}, async (options) => {
|
74
74
|
return this.client.sendOperationRequest({ id, scopes, options }, issueAccessTokenOperationSpec);
|
75
75
|
});
|
76
76
|
}
|
@@ -142,7 +142,7 @@ const exchangeTeamsUserAccessTokenOperationSpec = {
|
|
142
142
|
},
|
143
143
|
requestBody: {
|
144
144
|
parameterPath: { token: ["token"], appId: ["appId"], userId: ["userId"] },
|
145
|
-
mapper:
|
145
|
+
mapper: { ...Mappers.TeamsUserExchangeTokenRequest, required: true }
|
146
146
|
},
|
147
147
|
queryParameters: [Parameters.apiVersion],
|
148
148
|
urlParameters: [Parameters.endpoint],
|
@@ -166,7 +166,10 @@ const issueAccessTokenOperationSpec = {
|
|
166
166
|
scopes: ["scopes"],
|
167
167
|
expiresInMinutes: ["options", "expiresInMinutes"]
|
168
168
|
},
|
169
|
-
mapper:
|
169
|
+
mapper: {
|
170
|
+
...Mappers.CommunicationIdentityAccessTokenRequest,
|
171
|
+
required: true
|
172
|
+
}
|
170
173
|
},
|
171
174
|
queryParameters: [Parameters.apiVersion],
|
172
175
|
urlParameters: [Parameters.endpoint, Parameters.id],
|
@@ -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 { tracingClient } from \"../tracing\";\nimport { CommunicationIdentityOperations } from \"../operationsInterfaces\";\nimport * as coreClient from \"@azure/core-client\";\nimport * as Mappers from \"../models/mappers\";\nimport * as Parameters from \"../models/parameters\";\nimport { IdentityRestClient } from \"../identityRestClient\";\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: IdentityRestClient;\n\n /**\n * Initialize a new instance of the class CommunicationIdentityOperations class.\n * @param client Reference to the service client\n */\n constructor(client: IdentityRestClient) {\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 async create(\n options?: CommunicationIdentityCreateOptionalParams\n ): Promise<CommunicationIdentityCreateResponse> {\n return tracingClient.withSpan(\n \"IdentityRestClient.create\",\n options ?? {},\n async (options) => {\n return this.client.sendOperationRequest(\n { options },\n createOperationSpec\n ) as Promise<CommunicationIdentityCreateResponse>;\n }\n );\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 async delete(\n id: string,\n options?: CommunicationIdentityDeleteOptionalParams\n ): Promise<void> {\n return tracingClient.withSpan(\n \"IdentityRestClient.delete\",\n options ?? {},\n async (options) => {\n return this.client.sendOperationRequest(\n { id, options },\n deleteOperationSpec\n ) as Promise<void>;\n }\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 async revokeAccessTokens(\n id: string,\n options?: CommunicationIdentityRevokeAccessTokensOptionalParams\n ): Promise<void> {\n return tracingClient.withSpan(\n \"IdentityRestClient.revokeAccessTokens\",\n options ?? {},\n async (options) => {\n return this.client.sendOperationRequest(\n { id, options },\n revokeAccessTokensOperationSpec\n ) as Promise<void>;\n }\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 async exchangeTeamsUserAccessToken(\n token: string,\n appId: string,\n userId: string,\n options?: CommunicationIdentityExchangeTeamsUserAccessTokenOptionalParams\n ): Promise<CommunicationIdentityExchangeTeamsUserAccessTokenResponse> {\n return tracingClient.withSpan(\n \"IdentityRestClient.exchangeTeamsUserAccessToken\",\n options ?? {},\n async (options) => {\n return this.client.sendOperationRequest(\n { token, appId, userId, options },\n exchangeTeamsUserAccessTokenOperationSpec\n ) as Promise<CommunicationIdentityExchangeTeamsUserAccessTokenResponse>;\n }\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 async issueAccessToken(\n id: string,\n scopes: CommunicationIdentityTokenScope[],\n options?: CommunicationIdentityIssueAccessTokenOptionalParams\n ): Promise<CommunicationIdentityIssueAccessTokenResponse> {\n return tracingClient.withSpan(\n \"IdentityRestClient.issueAccessToken\",\n options ?? {},\n async (options) => {\n return this.client.sendOperationRequest(\n { id, scopes, options },\n issueAccessTokenOperationSpec\n ) as Promise<CommunicationIdentityIssueAccessTokenResponse>;\n }\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 expiresInMinutes: [\"options\", \"expiresInMinutes\"]\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: {\n scopes: [\"scopes\"],\n expiresInMinutes: [\"options\", \"expiresInMinutes\"]\n },\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 { tracingClient } from \"../tracing\";\nimport { CommunicationIdentityOperations } from \"../operationsInterfaces\";\nimport * as coreClient from \"@azure/core-client\";\nimport * as Mappers from \"../models/mappers\";\nimport * as Parameters from \"../models/parameters\";\nimport { IdentityRestClient } from \"../identityRestClient\";\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: IdentityRestClient;\n\n /**\n * Initialize a new instance of the class CommunicationIdentityOperations class.\n * @param client Reference to the service client\n */\n constructor(client: IdentityRestClient) {\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 async create(\n options?: CommunicationIdentityCreateOptionalParams\n ): Promise<CommunicationIdentityCreateResponse> {\n return tracingClient.withSpan(\n \"IdentityRestClient.create\",\n options ?? {},\n async (options) => {\n return this.client.sendOperationRequest(\n { options },\n createOperationSpec\n ) as Promise<CommunicationIdentityCreateResponse>;\n }\n );\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 async delete(\n id: string,\n options?: CommunicationIdentityDeleteOptionalParams\n ): Promise<void> {\n return tracingClient.withSpan(\n \"IdentityRestClient.delete\",\n options ?? {},\n async (options) => {\n return this.client.sendOperationRequest(\n { id, options },\n deleteOperationSpec\n ) as Promise<void>;\n }\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 async revokeAccessTokens(\n id: string,\n options?: CommunicationIdentityRevokeAccessTokensOptionalParams\n ): Promise<void> {\n return tracingClient.withSpan(\n \"IdentityRestClient.revokeAccessTokens\",\n options ?? {},\n async (options) => {\n return this.client.sendOperationRequest(\n { id, options },\n revokeAccessTokensOperationSpec\n ) as Promise<void>;\n }\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 async exchangeTeamsUserAccessToken(\n token: string,\n appId: string,\n userId: string,\n options?: CommunicationIdentityExchangeTeamsUserAccessTokenOptionalParams\n ): Promise<CommunicationIdentityExchangeTeamsUserAccessTokenResponse> {\n return tracingClient.withSpan(\n \"IdentityRestClient.exchangeTeamsUserAccessToken\",\n options ?? {},\n async (options) => {\n return this.client.sendOperationRequest(\n { token, appId, userId, options },\n exchangeTeamsUserAccessTokenOperationSpec\n ) as Promise<CommunicationIdentityExchangeTeamsUserAccessTokenResponse>;\n }\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 async issueAccessToken(\n id: string,\n scopes: CommunicationIdentityTokenScope[],\n options?: CommunicationIdentityIssueAccessTokenOptionalParams\n ): Promise<CommunicationIdentityIssueAccessTokenResponse> {\n return tracingClient.withSpan(\n \"IdentityRestClient.issueAccessToken\",\n options ?? {},\n async (options) => {\n return this.client.sendOperationRequest(\n { id, scopes, options },\n issueAccessTokenOperationSpec\n ) as Promise<CommunicationIdentityIssueAccessTokenResponse>;\n }\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 expiresInMinutes: [\"options\", \"expiresInMinutes\"]\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: {\n scopes: [\"scopes\"],\n expiresInMinutes: [\"options\", \"expiresInMinutes\"]\n },\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"]}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@azure/communication-identity",
|
3
|
-
"version": "1.3.1-alpha.
|
3
|
+
"version": "1.3.1-alpha.20240115.1",
|
4
4
|
"description": "SDK for Azure Communication service which facilitates user token administration.",
|
5
5
|
"sdk-type": "client",
|
6
6
|
"main": "dist/index.js",
|
@@ -14,13 +14,13 @@
|
|
14
14
|
"build:node": "tsc -p . && dev-tool run bundle",
|
15
15
|
"build:samples": "echo Obsolete.",
|
16
16
|
"build:test": "tsc -p . && dev-tool run bundle",
|
17
|
-
"check-format": "prettier --list-different --config ../../../.prettierrc.json --ignore-path ../../../.prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"samples-dev/**/*.ts\" \"*.{js,json}\"",
|
17
|
+
"check-format": "dev-tool run vendored prettier --list-different --config ../../../.prettierrc.json --ignore-path ../../../.prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"samples-dev/**/*.ts\" \"*.{js,json}\"",
|
18
18
|
"clean": "rimraf dist dist-* temp types *.tgz *.log",
|
19
19
|
"execute:samples": "dev-tool samples run samples-dev",
|
20
20
|
"execute:js-samples": "dev-tool samples run dist-samples/javascript",
|
21
21
|
"execute:ts-samples": "dev-tool samples run dist-samples/typescript/dist/dist-samples/typescript/src/",
|
22
22
|
"extract-api": "tsc -p . && api-extractor run --local",
|
23
|
-
"format": "prettier --write --config ../../../.prettierrc.json --ignore-path ../../../.prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"samples-dev/**/*.ts\" \"*.{js,json}\"",
|
23
|
+
"format": "dev-tool run vendored prettier --write --config ../../../.prettierrc.json --ignore-path ../../../.prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"samples-dev/**/*.ts\" \"*.{js,json}\"",
|
24
24
|
"generate:client": "autorest --typescript ./swagger/README.md && rushx format",
|
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'",
|
@@ -113,7 +113,7 @@
|
|
113
113
|
"@azure/dev-tool": ">=1.0.0-alpha <1.0.0-alphb",
|
114
114
|
"@azure/eslint-plugin-azure-sdk": ">=3.0.0-alpha <3.0.0-alphb",
|
115
115
|
"@azure/identity": "^3.3.0",
|
116
|
-
"@azure/msal-node": "^
|
116
|
+
"@azure/msal-node": "^1.3.0",
|
117
117
|
"@azure/test-utils": ">=1.0.0-alpha <1.0.0-alphb",
|
118
118
|
"@microsoft/api-extractor": "^7.31.1",
|
119
119
|
"@types/chai": "^4.1.6",
|
@@ -136,7 +136,6 @@
|
|
136
136
|
"karma-sourcemap-loader": "^0.3.8",
|
137
137
|
"mocha": "^10.0.0",
|
138
138
|
"c8": "^8.0.0",
|
139
|
-
"prettier": "^2.5.1",
|
140
139
|
"process": "^0.11.10",
|
141
140
|
"rimraf": "^3.0.0",
|
142
141
|
"sinon": "^17.0.0",
|