Snabbstart: Skapa och hantera åtkomsttoken

Med åtkomsttoken kan Azure Communication Services-SDK:er autentiseras direkt mot Azure Communication Services som en viss identitet. Du måste skapa åtkomsttoken om du vill att användarna ska ansluta till en samtals- eller chatttråd i programmet.

I den här snabbstarten får du lära dig hur du använder Azure Communication Services SDK:er för att skapa identiteter och hantera dina åtkomsttoken. För produktionsanvändningsfall rekommenderar vi att du genererar åtkomsttoken på en tjänst på serversidan.

Förutsättningar

Konfigurera

Lägga till tillägget

Lägg till Azure Communication Services-tillägget för Azure CLI med hjälp az extension av kommandot .

az extension add --name communication

Logga in på Azure CLI

Du måste logga in på Azure CLI. Du kan logga in med az login kommandot från terminalen och ange dina autentiseringsuppgifter.

(Valfritt) Använda Azure CLI-identitetsåtgärder utan att skicka in en anslutningssträng

Du kan konfigurera AZURE_COMMUNICATION_CONNECTION_STRING miljövariabeln så att den använder Azure CLI-identitetsåtgärder utan att behöva använda --connection_string för att skicka in anslutningssträng. Om du vill konfigurera en miljövariabel öppnar du ett konsolfönster och väljer ditt operativsystem på flikarna nedan. Ersätt <yourConnectionString> med din faktiska anslutningssträng.

Öppna ett konsolfönster och ange följande kommando:

setx AZURE_COMMUNICATION_CONNECTION_STRING "<yourConnectionString>"

När du har lagt till miljövariabeln kan du behöva starta om alla program som körs och som behöver läsa in miljövariabeln, däribland konsolfönstret. Om du till exempel använder Visual Studio som redigerare startar du om Visual Studio innan du kör exemplet.

Lagra din åtkomsttoken i en miljövariabel

Om du vill konfigurera en miljövariabel öppnar du ett konsolfönster och väljer ditt operativsystem på flikarna nedan. Ersätt <yourAccessToken> med din faktiska åtkomsttoken.

Öppna ett konsolfönster och ange följande kommando:

setx AZURE_COMMUNICATION_ACCESS_TOKEN "<yourAccessToken>"

När du har lagt till miljövariabeln kan du behöva starta om alla program som körs och som behöver läsa in miljövariabeln, däribland konsolfönstret. Om du till exempel använder Visual Studio som redigerare startar du om Visual Studio innan du kör exemplet.

Operations

Skapa en identitet

För att skapa åtkomsttoken behöver du en identitet. Azure Communication Services har en enkel identitetskatalog för detta ändamål. user create Använd kommandot för att skapa en ny post i katalogen med en unik Id. Identiteten krävs senare för utfärdande av åtkomsttoken.

az communication identity user create --connection-string "<yourConnectionString>"
  • Ersätt <yourConnectionString> med din anslutningssträng.

Skapa en identitet och utfärda en åtkomsttoken i samma begäran

Kör följande kommando för att skapa en Communication Services-identitet och utfärda en åtkomsttoken för den samtidigt. Parametern scopes definierar en uppsättning behörigheter och roller för åtkomsttoken. Mer information finns i listan över åtgärder som stöds i Autentisera till Azure Communication Services.

az communication identity token issue --scope chat --connection-string "<yourConnectionString>"

Gör den här ersättningen i koden:

  • Ersätt <yourConnectionString> med din anslutningssträng.

Problem med åtkomsttoken

Kör följande kommando för att utfärda en åtkomsttoken för din Communication Services-identitet. Parametern scopes definierar en uppsättning behörigheter och roller för åtkomsttoken. Mer information finns i listan över åtgärder som stöds i Autentisera till Azure Communication Services.

az communication identity token issue --scope chat --user "<userId>" --connection-string "<yourConnectionString>"

Gör den här ersättningen i koden:

  • Ersätt <yourConnectionString> med din anslutningssträng.
  • Ersätt <userId> med ditt userId.

Åtkomsttoken är kortlivade autentiseringsuppgifter som måste återutfärdas. Om du inte gör det kan det orsaka avbrott i programanvändarens upplevelse. Svarsegenskapen expires_on anger livslängden för åtkomsttoken.

Utfärda åtkomsttoken med flera omfång

Kör följande kommando för att utfärda en åtkomsttoken med flera omfång för din Communication Services-identitet. Parametern scopes definierar en uppsättning behörigheter och roller för åtkomsttoken. Mer information finns i listan över åtgärder som stöds i identitetsmodellen.

az communication identity token issue --scope chat voip --user "<userId>" --connection-string "<yourConnectionString>"

Gör den här ersättningen i koden:

  • Ersätt <yourConnectionString> med din anslutningssträng.
  • Ersätt <userId> med ditt userId.

Åtkomsttoken är kortlivade autentiseringsuppgifter som måste återutfärdas. Om du inte gör det kan det orsaka avbrott i programanvändarens upplevelse. Svarsegenskapen expires_on anger livslängden för åtkomsttoken.

Utbyta en Microsoft Entra-åtkomsttoken för Teams-användaren för en åtkomsttoken för kommunikationsidentitet

token get-for-teams-user Använd kommandot för att utfärda en åtkomsttoken för Teams-användaren som kan användas med Azure Communication Services-SDK:erna.

az communication identity token get-for-teams-user --aad-token "<yourAadToken>" --client "<yourAadApplication>" --aad-user "<yourAadUser>" --connection-string "<yourConnectionString>"

Gör den här ersättningen i koden:

  • Ersätt <yourConnectionString> med din anslutningssträng.
  • Ersätt <yourAadUser> med ditt Microsoft Entra userId.
  • Ersätt <yourAadApplication> med ditt Microsoft Entra-program-ID.
  • Ersätt <yourAadToken> med din Microsoft Entra-åtkomsttoken.

Återkalla åtkomsttoken

Ibland kan du behöva återkalla en åtkomsttoken uttryckligen. Du skulle till exempel göra det när programanvändare ändrar lösenordet de använder för att autentisera till din tjänst. Kommandot token revoke ogiltigförklarar alla aktiva åtkomsttoken som har utfärdats till identiteten.

az communication identity token revoke --user "<userId>" --connection-string "<yourConnectionString>"

Gör den här ersättningen i koden:

  • Ersätt <yourConnectionString> med din anslutningssträng.
  • Ersätt <userId> med ditt userId.

Ta bort en identitet

När du tar bort en identitet återkallar du alla aktiva åtkomsttoken och förhindrar ytterligare utfärdande av åtkomsttoken för identiteten. Om du gör det raderas även allt beständiga innehåll som är associerat med identiteten.

az communication identity user delete --user "<userId>" --connection-string "<yourConnectionString>"

Gör den här ersättningen i koden:

  • Ersätt <yourConnectionString> med din anslutningssträng.
  • Ersätt <userId> med ditt userId.

Förutsättningar

Den slutliga koden

Hitta den färdiga koden för den här snabbstarten på GitHub.

Konfigurera din miljö

Skapa ett nytt C#-program

I ett kommandotolkfönster, till exempel cmd, PowerShell eller Bash, kör du dotnet new kommandot för att skapa en ny konsolapp med namnet AccessTokensQuickstart. Det här kommandot skapar ett enkelt "Hello World" C#-projekt med en enda källfil, Program.cs.

dotnet new console -o AccessTokensQuickstart

Ändra katalogen till den nyligen skapade appmappen dotnet build och använd kommandot för att kompilera ditt program.

cd AccessTokensQuickstart
dotnet build

En enkel "Hello World"-utdata ska visas. I så fall fungerar konfigurationen korrekt och du kan komma igång med att skriva din Azure Communication Services-specifika kod.

Installera -paketet

När du fortfarande är i programkatalogen installerar du Azure Communication Services Identity-biblioteket för .NET-paketet med hjälp dotnet add package av kommandot .

dotnet add package Azure.Communication.Identity

Konfigurera appramverket

Gör följande i projektkatalogen:

  1. Öppna filen Program.cs i en textredigerare.
  2. Lägg till ett using direktiv för att inkludera Azure.Communication.Identity namnområdet.
  3. Uppdatera metoddeklarationen så att den Main stöder asynkron kod.

Börja med att köra följande kod:

using System;
using Azure;
using Azure.Core;
using Azure.Communication.Identity;

namespace AccessTokensQuickstart
{
    class Program
    {
        static async System.Threading.Tasks.Task Main(string[] args)
        {
            Console.WriteLine("Azure Communication Services - Access Tokens Quickstart");

            // Quickstart code goes here
        }
    }
}

Autentisera klienten

Initiera CommunicationIdentityClient med din anslutningssträng. Följande kod, som du lägger till i Main metoden, hämtar anslutningssträng för resursen från en miljövariabel med namnet COMMUNICATION_SERVICES_CONNECTION_STRING.

Mer information finns i avsnittet "Lagra din anslutningssträng" i Skapa och hantera Communication Services-resurser.

// This code demonstrates how to retrieve your connection string
// from an environment variable.
string connectionString = Environment.GetEnvironmentVariable("COMMUNICATION_SERVICES_CONNECTION_STRING");
var client = new CommunicationIdentityClient(connectionString);

Du kan också separera slutpunkten och åtkomstnyckeln genom att köra följande kod:

// This code demonstrates how to fetch your endpoint and access key
// from an environment variable.
string endpoint = Environment.GetEnvironmentVariable("COMMUNICATION_SERVICES_ENDPOINT");
string accessKey = Environment.GetEnvironmentVariable("COMMUNICATION_SERVICES_ACCESSKEY");
var client = new CommunicationIdentityClient(new Uri(endpoint), new AzureKeyCredential(accessKey));

Om du redan har konfigurerat ett Microsoft Entra-program kan du autentisera med hjälp av Microsoft Entra-ID.

TokenCredential tokenCredential = new DefaultAzureCredential();
var client = new CommunicationIdentityClient(new Uri(endpoint), tokenCredential);

Skapa en identitet

För att skapa åtkomsttoken behöver du en identitet. Azure Communication Services har en enkel identitetskatalog för detta ändamål. createUser Använd metoden för att skapa en ny post i katalogen med en unik Id. Identiteten krävs senare för utfärdande av åtkomsttoken.

var identityResponse = await client.CreateUserAsync();
var identity = identityResponse.Value;
Console.WriteLine($"\nCreated an identity with ID: {identity.Id}");

Lagra den mottagna identiteten med mappning till programmets användare (till exempel genom att lagra den i programserverdatabasen).

Utfärda en åtkomsttoken

När du har en Communication Services-identitet använder du GetToken metoden för att utfärda en åtkomsttoken för den. Parametern scopes definierar en uppsättning behörigheter och roller för åtkomsttoken. Mer information finns i listan över åtgärder som stöds i identitetsmodellen. Du kan också skapa en ny instans av communicationUser baserat på en strängrepresentation av en Azure Communication Service-identitet.

// Issue an access token with a validity of 24 hours and the "voip" scope for an identity
var tokenResponse = await client.GetTokenAsync(identity, scopes: new [] { CommunicationTokenScope.VoIP });

// Get the token from the response
var token =  tokenResponse.Value.Token;
var expiresOn = tokenResponse.Value.ExpiresOn;
Console.WriteLine($"\nIssued an access token with 'voip' scope that expires at {expiresOn}:");
Console.WriteLine(token);

Åtkomsttoken är kortlivade autentiseringsuppgifter som måste återutfärdas. Om du inte gör det kan det orsaka avbrott i programanvändarens upplevelse. Egenskapen expiresOn anger livslängden för åtkomsttoken.

Ange en anpassad tokens förfallotid

Förfallotiden för standardtoken är 24 timmar, men du kan konfigurera den genom att ange ett värde mellan en timme och 24 timmar till den valfria parametern tokenExpiresIn. När du begär en ny token rekommenderar vi att du anger den förväntade typiska längden på en kommunikationssession för förfallotiden för token.

// Issue an access token with a validity of an hour and the "voip" scope for an identity 
TimeSpan tokenExpiresIn = TimeSpan.FromHours(1);
CommunicationTokenScope[] scopes = new[] { CommunicationTokenScope.VoIP };
var tokenResponse = await client.GetTokenAsync(identity, scopes, tokenExpiresIn);

Skapa en identitet och utfärda en token i samma begäran

Du kan använda CreateUserAndTokenAsync metoden för att skapa en Communication Services-identitet och utfärda en åtkomsttoken för den samtidigt. Parametern scopes definierar en uppsättning behörigheter och roller för åtkomsttoken. Mer information finns i listan över åtgärder som stöds i Autentisera till Azure Communication Services.

// Issue an identity and an access token with a validity of 24 hours and the "voip" scope for the new identity
var identityAndTokenResponse = await client.CreateUserAndTokenAsync(scopes: new[] { CommunicationTokenScope.VoIP });

// Retrieve the identity, token, and expiration date from the response
var identity = identityAndTokenResponse.Value.User;
var token = identityAndTokenResponse.Value.AccessToken.Token;
var expiresOn = identityAndTokenResponse.Value.AccessToken.ExpiresOn;
Console.WriteLine($"\nCreated an identity with ID: {identity.Id}");
Console.WriteLine($"\nIssued an access token with 'voip' scope that expires at {expiresOn}:");
Console.WriteLine(token);

Uppdatera en åtkomsttoken

Om du vill uppdatera en åtkomsttoken skickar du en instans av CommunicationUserIdentifier objektet till GetTokenAsync. Om du har lagrat detta Id och behöver skapa en ny CommunicationUserIdentifierkan du göra det genom att skicka den lagrade Id filen till CommunicationUserIdentifier konstruktorn på följande sätt:

var identityToRefresh = new CommunicationUserIdentifier(identity.Id);
var tokenResponse = await client.GetTokenAsync(identityToRefresh, scopes: new [] { CommunicationTokenScope.VoIP });

Återkalla åtkomsttoken

Ibland kan du behöva återkalla en åtkomsttoken uttryckligen. Du skulle till exempel göra det när programanvändare ändrar lösenordet de använder för att autentisera till din tjänst. Metoden RevokeTokensAsync ogiltigförklarar alla aktiva åtkomsttoken som har utfärdats till identiteten.

await client.RevokeTokensAsync(identity);
Console.WriteLine($"\nSuccessfully revoked all access tokens for identity with ID: {identity.Id}");

Ta bort en identitet

När du tar bort en identitet återkallar du alla aktiva åtkomsttoken och förhindrar ytterligare utfärdande av åtkomsttoken för identiteten. Om du gör det raderas även allt beständiga innehåll som är associerat med identiteten.

await client.DeleteUserAsync(identity);
Console.WriteLine($"\nDeleted the identity with ID: {identity.Id}");

Kör koden

När du har skapat åtkomsttoken kan du köra programmet från programkatalogen dotnet run med hjälp av kommandot .

dotnet run

Appens utdata beskriver varje slutförd åtgärd:

Azure Communication Services - Access Tokens Quickstart

Created an identity with ID: 8:acs:4ccc92c8-9815-4422-bddc-ceea181dc774_00000006-19e0-2727-80f5-8b3a0d003502

Issued an access token with 'voip' scope that expires at 10/11/2022 7:34:29 AM +00:00:
eyJhbGciOiJSUzI1NiIsImtpZCI6IjEwNiIsIng1dCI6Im9QMWFxQnlfR3hZU3pSaXhuQ25zdE5PU2p2cyIsInR5cCI6IkpXVCJ9.eyJza3lwZWlkIjoiYWNzOjAwMDAwMDAwLTAwMDAtMDAwMC0wMDAwLTAwMDAwMDAwMDAwMF8wMDAwMDAwMC0wMDAwLTAwMDAtMDAwMC0wMDAwMDAwMDAwMDAiLCJzY3AiOjE3OTIsImNzaSI6IjE2NjUzODcyNjkiLCJleHAiOjE2NjUzOTA4NjksImFjc1Njb3BlIjoidm9pcCIsInJlc291cmNlSWQiOiIwMDAwMDAwMC0wMDAwLTAwMDAtMDAwMC0wMDAwMDAwMDAwMDAiLCJyZXNvdXJjZUxvY2F0aW9uIjoidW5pdGVkc3RhdGVzIiwiaWF0IjoxNjY1Mzg3MjY5fQ.kTXpQQtY7w6O82kByljZXrKtBvNNOleDE5m06LapzLeoWfRZCCpJQcDzBoLRA146mOhNzLZ0b5WMNTa5tD-0hWCiicDwgKLMASEGY9g0EvNQOidPff47g2hh6yqi9PKiDPp-t5siBMYqA6Nh6CQ-Oeh-35vcRW09VfcqFN38IgSSzJ7QkqBiY_QtfXz-iaj81Td0287KO4U1y2LJIGiyJLWC567F7A_p1sl6NmPKUmvmwM47tyCcQ1r_lfkRdeyDmcrGgY6yyI3XJZQbpxyt2DZqOTSVPB4PuRl7iyXxvppEa4Uo_y_BdMOOWFe6YTRB5O5lhI8m7Tf0LifisxX2sw

Created an identity with ID: 8:acs:4ccc92c8-9815-4422-bddc-ceea181dc774_00000006-1ce9-31b4-54b7-a43a0d006a52

Issued an access token with 'voip' scope that expires at 10/11/2022 7:34:29 AM +00:00:
eyJhbGciOiJSUzI1NiIsImtpZCI6IjEwNiIsIng1dCI6Im9QMWFxQnlfR3hZU3pSaXhuQ25zdE5PU2p2cyIsInR5cCI6IkpXVCJ9.eyJza3lwZWlkIjoiYWNzOjAwMDAwMDAwLTAwMDAtMDAwMC0wMDAwLTAwMDAwMDAwMDAwMF8wMDAwMDAwMC0wMDAwLTAwMDAtMDAwMC0wMDAwMDAwMDAwMDAiLCJzY3AiOjE3OTIsImNzaSI6IjE2NjUzODcyNjkiLCJleHAiOjE2NjUzOTA4NjksImFjc1Njb3BlIjoidm9pcCIsInJlc291cmNlSWQiOiIwMDAwMDAwMC0wMDAwLTAwMDAtMDAwMC0wMDAwMDAwMDAwMDAiLCJyZXNvdXJjZUxvY2F0aW9uIjoidW5pdGVkc3RhdGVzIiwiaWF0IjoxNjY1Mzg3MjY5fQ.kTXpQQtY7w6O82kByljZXrKtBvNNOleDE5m06LapzLeoWfRZCCpJQcDzBoLRA146mOhNzLZ0b5WMNTa5tD-0hWCiicDwgKLMASEGY9g0EvNQOidPff47g2hh6yqi9PKiDPp-t5siBMYqA6Nh6CQ-Oeh-35vcRW09VfcqFN38IgSSzJ7QkqBiY_QtfXz-iaj81Td0287KO4U1y2LJIGiyJLWC567F7A_p1sl6NmPKUmvmwM47tyCcQ1r_lfkRdeyDmcrGgY6yyI3XJZQbpxyt2DZqOTSVPB4PuRl7iyXxvppEa4Uo_y_BdMOOWFe6YTRB5O5lhI8m7Tf0LifisxX2sw

Successfully revoked all access tokens for identity with ID: 8:acs:4ccc92c8-9815-4422-bddc-ceea181dc774_00000006-19e0-2727-80f5-8b3a0d003502

Deleted the identity with ID: 8:acs:4ccc92c8-9815-4422-bddc-ceea181dc774_00000006-19e0-2727-80f5-8b3a0d003502

Förutsättningar

Den slutliga koden

Hitta den färdiga koden för den här snabbstarten på GitHub.

Konfigurera din miljö

Skapa ett nytt Node.js-program

I ett terminal- eller kommandotolkfönster skapar du en ny katalog för din app och öppnar den sedan.

mkdir access-tokens-quickstart && cd access-tokens-quickstart

Kör npm init -y för att skapa en package.json fil med standardinställningar.

npm init -y

Installera -paketet

npm install Använd kommandot för att installera Azure Communication Services Identity SDK för JavaScript.

npm install @azure/communication-identity@latest --save

Alternativet --save visar biblioteket som ett beroende i din package.json-fil .

Konfigurera appramverket

  1. Skapa en fil med namnet issue-access-token.js i projektkatalogen och lägg till följande kod:

    const { CommunicationIdentityClient } = require('@azure/communication-identity');
    
    const main = async () => {
      console.log("Azure Communication Services - Access Tokens Quickstart")
    
      // Quickstart code goes here
    };
    
    main().catch((error) => {
      console.log("Encountered an error");
      console.log(error);
    })
    

Autentisera klienten

Instansiera CommunicationIdentityClient med din anslutningssträng. Följande kod, som du lägger till i Main metoden, hämtar anslutningssträng för resursen från en miljövariabel med namnet COMMUNICATION_SERVICES_CONNECTION_STRING.

Mer information finns i avsnittet "Lagra din anslutningssträng" i Skapa och hantera Communication Services-resurser.

// This code demonstrates how to fetch your connection string
// from an environment variable.
const connectionString = process.env['COMMUNICATION_SERVICES_CONNECTION_STRING'];

// Instantiate the identity client
const identityClient = new CommunicationIdentityClient(connectionString);

Du kan också separera slutpunkten och åtkomstnyckeln genom att köra följande kod:

// This code demonstrates how to fetch your endpoint and access key
// from an environment variable.
const endpoint = process.env["COMMUNICATION_SERVICES_ENDPOINT"];
const accessKey = process.env["COMMUNICATION_SERVICES_ACCESSKEY"];

// Create the credential
const tokenCredential = new AzureKeyCredential(accessKey);

// Instantiate the identity client
const identityClient = new CommunicationIdentityClient(endpoint, tokenCredential)

Om du redan har konfigurerat ett Microsoft Entra-program kan du autentisera med hjälp av Microsoft Entra-ID.

const endpoint = process.env["COMMUNICATION_SERVICES_ENDPOINT"];
const tokenCredential = new DefaultAzureCredential();
const identityClient = new CommunicationIdentityClient(endpoint, tokenCredential);

Skapa en identitet

För att skapa åtkomsttoken behöver du en identitet. Azure Communication Services har en enkel identitetskatalog för detta ändamål. createUser Använd metoden för att skapa en ny post i katalogen med en unik Id. Identiteten krävs senare för utfärdande av åtkomsttoken.

let identityResponse = await identityClient.createUser();
console.log(`\nCreated an identity with ID: ${identityResponse.communicationUserId}`);

Lagra den mottagna identiteten med mappning till programmets användare (till exempel genom att lagra den i programserverdatabasen).

Utfärda en åtkomsttoken

Använd metoden getToken för att utfärda en åtkomsttoken för din Communication Services-identitet. Parametern scopes definierar en uppsättning behörigheter och roller för åtkomsttoken. Mer information finns i listan över åtgärder som stöds i identitetsmodellen. Du kan också skapa en ny instans av en communicationUser baserat på en strängrepresentation av Azure Communication Service-identiteten.

// Issue an access token with a validity of 24 hours and the "voip" scope for an identity
let tokenResponse = await identityClient.getToken(identityResponse, ["voip"]);

// Get the token and its expiration date from the response
const { token, expiresOn } = tokenResponse;
console.log(`\nIssued an access token with 'voip' scope that expires at ${expiresOn}:`);
console.log(token);

Åtkomsttoken är kortlivade autentiseringsuppgifter som måste återutfärdas. Om du inte gör det kan det orsaka avbrott i programanvändarens upplevelse. Egenskapen expiresOn anger livslängden för åtkomsttoken.

Ange en anpassad tokens förfallotid

Förfallotiden för standardtoken är 24 timmar (1 440 minuter), men du kan konfigurera den genom att ange ett värde mellan 60 minuter och 1 440 minuter till den valfria parametern tokenExpiresInMinutes. När du begär en ny token rekommenderar vi att du anger den förväntade typiska längden på en kommunikationssession för förfallotiden för token.

// Issue an access token with a validity of an hour and the "voip" scope for an identity
const tokenOptions: GetTokenOptions = { tokenExpiresInMinutes: 60 };
let tokenResponse = await identityClient.getToken
(identityResponse, ["voip"], tokenOptions);

Skapa en identitet och utfärda en token i ett metodanrop

Du kan använda createUserAndToken metoden för att skapa en Communication Services-identitet och utfärda en åtkomsttoken för den samtidigt. Parametern scopes definierar en uppsättning behörigheter och roller för åtkomsttoken. Återigen skapar du den med omfånget voip .

// Issue an identity and an access token with a validity of 24 hours and the "voip" scope for the new identity
let identityTokenResponse = await identityClient.createUserAndToken(["voip"]);

// Get the token, its expiration date, and the user from the response
const { token, expiresOn, user } = identityTokenResponse;
console.log(`\nCreated an identity with ID: ${user.communicationUserId}`);
console.log(`\nIssued an access token with 'voip' scope that expires at ${expiresOn}:`);
console.log(token);

Uppdatera en åtkomsttoken

När token upphör att gälla måste du uppdatera dem regelbundet. Det är enkelt att bara anropa getToken igen med samma identitet som användes för att utfärda token. Du måste också ange scopes de uppdaterade token.

// Value of identityResponse represents the Azure Communication Services identity stored during identity creation and then used to issue the tokens being refreshed
let refreshedTokenResponse = await identityClient.getToken(identityResponse, ["voip"]);

Återkalla åtkomsttoken

Ibland kan du behöva återkalla en åtkomsttoken. Du skulle till exempel göra det när programanvändare ändrar lösenordet de använder för att autentisera till din tjänst. Metoden revokeTokens ogiltigförklarar alla aktiva åtkomsttoken som har utfärdats till identiteten.

await identityClient.revokeTokens(identityResponse);

console.log(`\nSuccessfully revoked all access tokens for identity with ID: ${identityResponse.communicationUserId}`);

Ta bort en identitet

När du tar bort en identitet återkallar du alla aktiva åtkomsttoken och förhindrar ytterligare utfärdande av åtkomsttoken för identiteten. Om du gör det raderas även allt beständiga innehåll som är associerat med identiteten.

await identityClient.deleteUser(identityResponse);

console.log(`\nDeleted the identity with ID: ${identityResponse.communicationUserId}`);

Kör koden

Från en konsolprompt går du till katalogen som innehåller filen issue-access-token.js och kör sedan följande node kommando för att köra appen:

node ./issue-access-token.js

Appens utdata beskriver varje slutförd åtgärd:

Azure Communication Services - Access Tokens Quickstart

Created an identity with ID: 8:acs:4ccc92c8-9815-4422-bddc-ceea181dc774_00000006-19e0-2727-80f5-8b3a0d003502

Issued an access token with 'voip' scope that expires at 2022-10-11T07:34:29.9028648+00:00:
eyJhbGciOiJSUzI1NiIsImtpZCI6IjEwNiIsIng1dCI6Im9QMWFxQnlfR3hZU3pSaXhuQ25zdE5PU2p2cyIsInR5cCI6IkpXVCJ9.eyJza3lwZWlkIjoiYWNzOjAwMDAwMDAwLTAwMDAtMDAwMC0wMDAwLTAwMDAwMDAwMDAwMF8wMDAwMDAwMC0wMDAwLTAwMDAtMDAwMC0wMDAwMDAwMDAwMDAiLCJzY3AiOjE3OTIsImNzaSI6IjE2NjUzODcyNjkiLCJleHAiOjE2NjUzOTA4NjksImFjc1Njb3BlIjoidm9pcCIsInJlc291cmNlSWQiOiIwMDAwMDAwMC0wMDAwLTAwMDAtMDAwMC0wMDAwMDAwMDAwMDAiLCJyZXNvdXJjZUxvY2F0aW9uIjoidW5pdGVkc3RhdGVzIiwiaWF0IjoxNjY1Mzg3MjY5fQ.kTXpQQtY7w6O82kByljZXrKtBvNNOleDE5m06LapzLeoWfRZCCpJQcDzBoLRA146mOhNzLZ0b5WMNTa5tD-0hWCiicDwgKLMASEGY9g0EvNQOidPff47g2hh6yqi9PKiDPp-t5siBMYqA6Nh6CQ-Oeh-35vcRW09VfcqFN38IgSSzJ7QkqBiY_QtfXz-iaj81Td0287KO4U1y2LJIGiyJLWC567F7A_p1sl6NmPKUmvmwM47tyCcQ1r_lfkRdeyDmcrGgY6yyI3XJZQbpxyt2DZqOTSVPB4PuRl7iyXxvppEa4Uo_y_BdMOOWFe6YTRB5O5lhI8m7Tf0LifisxX2sw

Created an identity with ID: 8:acs:4ccc92c8-9815-4422-bddc-ceea181dc774_00000006-1ce9-31b4-54b7-a43a0d006a52

Issued an access token with 'voip' scope that expires at 2022-10-11T07:34:29.9028648+00:00:
eyJhbGciOiJSUzI1NiIsImtpZCI6IjEwNiIsIng1dCI6Im9QMWFxQnlfR3hZU3pSaXhuQ25zdE5PU2p2cyIsInR5cCI6IkpXVCJ9.eyJza3lwZWlkIjoiYWNzOjAwMDAwMDAwLTAwMDAtMDAwMC0wMDAwLTAwMDAwMDAwMDAwMF8wMDAwMDAwMC0wMDAwLTAwMDAtMDAwMC0wMDAwMDAwMDAwMDAiLCJzY3AiOjE3OTIsImNzaSI6IjE2NjUzODcyNjkiLCJleHAiOjE2NjUzOTA4NjksImFjc1Njb3BlIjoidm9pcCIsInJlc291cmNlSWQiOiIwMDAwMDAwMC0wMDAwLTAwMDAtMDAwMC0wMDAwMDAwMDAwMDAiLCJyZXNvdXJjZUxvY2F0aW9uIjoidW5pdGVkc3RhdGVzIiwiaWF0IjoxNjY1Mzg3MjY5fQ.kTXpQQtY7w6O82kByljZXrKtBvNNOleDE5m06LapzLeoWfRZCCpJQcDzBoLRA146mOhNzLZ0b5WMNTa5tD-0hWCiicDwgKLMASEGY9g0EvNQOidPff47g2hh6yqi9PKiDPp-t5siBMYqA6Nh6CQ-Oeh-35vcRW09VfcqFN38IgSSzJ7QkqBiY_QtfXz-iaj81Td0287KO4U1y2LJIGiyJLWC567F7A_p1sl6NmPKUmvmwM47tyCcQ1r_lfkRdeyDmcrGgY6yyI3XJZQbpxyt2DZqOTSVPB4PuRl7iyXxvppEa4Uo_y_BdMOOWFe6YTRB5O5lhI8m7Tf0LifisxX2sw

Successfully revoked all access tokens for identity with ID: 8:acs:4ccc92c8-9815-4422-bddc-ceea181dc774_00000006-19e0-2727-80f5-8b3a0d003502

Deleted the identity with ID: 8:acs:4ccc92c8-9815-4422-bddc-ceea181dc774_00000006-19e0-2727-80f5-8b3a0d003502

Förutsättningar

Den slutliga koden

Hitta den färdiga koden för den här snabbstarten på GitHub.

Konfigurera din miljö

Skapa ett nytt Python-program

  1. I ett terminal- eller kommandotolkfönster skapar du en ny katalog för din app och öppnar den sedan.

    mkdir access-tokens-quickstart && cd access-tokens-quickstart
    
  2. Använd en textredigerare för att skapa en fil med namnet issue-access-tokens.py i projektets rotkatalog och lägga till strukturen för programmet, inklusive grundläggande undantagshantering. Du lägger till all källkod för den här snabbstarten i den här filen i de avsnitt som följer.

    import os
    from datetime import timedelta
    from azure.communication.identity import CommunicationIdentityClient, CommunicationUserIdentifier
    
    try:
       print("Azure Communication Services - Access Tokens Quickstart")
       # Quickstart code goes here
    except Exception as ex:
       print("Exception:")
       print(ex)
    

Installera -paketet

När du fortfarande är i programkatalogen installerar du Azure Communication Services Identity SDK för Python-paketet med hjälp pip install av kommandot .

pip install azure-communication-identity

Autentisera klienten

Instansiera en CommunicationIdentityClient med din anslutningssträng. Följande kod, som du lägger till i try blocket, hämtar anslutningssträng för resursen från en miljövariabel med namnet COMMUNICATION_SERVICES_CONNECTION_STRING.

Mer information finns i avsnittet "Lagra din anslutningssträng" i Skapa och hantera Communication Services-resurser.

# This code demonstrates how to retrieve your connection string
# from an environment variable.
connection_string = os.environ["COMMUNICATION_SERVICES_CONNECTION_STRING"]

# Instantiate the identity client
client = CommunicationIdentityClient.from_connection_string(connection_string)

Om du redan har konfigurerat ett Microsoft Entra-program kan du också autentisera med hjälp av Microsoft Entra-ID.

endpoint = os.environ["COMMUNICATION_SERVICES_ENDPOINT"]
client = CommunicationIdentityClient(endpoint, DefaultAzureCredential())

Skapa en identitet

För att skapa åtkomsttoken behöver du en identitet. Azure Communication Services har en enkel identitetskatalog för detta ändamål. create_user Använd metoden för att skapa en ny post i katalogen med en unik Id. Identiteten krävs senare för utfärdande av åtkomsttoken.

identity = client.create_user()
print("\nCreated an identity with ID: " + identity.properties['id'])

Lagra den mottagna identiteten med mappning till programmets användare (till exempel genom att lagra den i programserverdatabasen).

Utfärda en åtkomsttoken

Använd metoden get_token för att utfärda en åtkomsttoken för din Communication Services-identitet. Parametern scopes definierar en uppsättning behörigheter och roller för åtkomsttoken. Mer information finns i listan över åtgärder som stöds i identitetsmodellen. Du kan också skapa en ny instans av parametern CommunicationUserIdentifier baserat på en strängrepresentation av Azure Communication Service-identiteten.

# Issue an access token with a validity of 24 hours and the "voip" scope for an identity
token_result = client.get_token(identity, ["voip"])
print("\nIssued an access token with 'voip' scope that expires at " + token_result.expires_on + ":")
print(token_result.token)

Åtkomsttoken är kortlivade autentiseringsuppgifter som måste återutfärdas. Om du inte gör det kan det orsaka avbrott i programanvändarens upplevelse. Svarsegenskapen expires_on anger livslängden för åtkomsttoken.

Ange en anpassad tokens förfallotid

Förfallotiden för standardtoken är 24 timmar, men du kan konfigurera den genom att ange ett värde mellan en timme och 24 timmar till den valfria parametern token_expires_in. När du begär en ny token rekommenderar vi att du anger den förväntade typiska längden på en kommunikationssession för förfallotiden för token.

# Issue an access token with a validity of an hour and the "voip" scope for an identity
token_expires_in = timedelta(hours=1)
token_result = client.get_token(identity, ["voip"], token_expires_in=token_expires_in)

Skapa en identitet och utfärda en åtkomsttoken i samma begäran

Du kan använda create_user_and_token metoden för att skapa en Communication Services-identitet och utfärda en åtkomsttoken för den samtidigt. Parametern scopes definierar en uppsättning behörigheter och roller för åtkomsttoken. Mer information finns i listan över åtgärder som stöds i Autentisera till Azure Communication Services.

# Issue an identity and an access token with a validity of 24 hours and the "voip" scope for the new identity
identity_token_result = client.create_user_and_token(["voip"])

# Get the token details from the response
identity = identity_token_result[0]
token = identity_token_result[1].token
expires_on = identity_token_result[1].expires_on
print("\nCreated an identity with ID: " + identity.properties['id'])
print("\nIssued an access token with 'voip' scope that expires at " + expires_on + ":")
print(token)

Uppdatera en åtkomsttoken

Om du vill uppdatera en åtkomsttoken använder du CommunicationUserIdentifier objektet för att återisera en token genom att skicka in den befintliga identiteten:

# The existingIdentity value represents the Communication Services identity that's stored during identity creation
identity = CommunicationUserIdentifier(existingIdentity)
token_result = client.get_token(identity, ["voip"])

Återkalla åtkomsttoken

Ibland kan du behöva återkalla en åtkomsttoken uttryckligen. Du skulle till exempel göra det när programanvändare ändrar lösenordet de använder för att autentisera till din tjänst. Metoden revoke_tokens ogiltigförklarar alla aktiva åtkomsttoken som har utfärdats till identiteten.

client.revoke_tokens(identity)
print("\nSuccessfully revoked all access tokens for identity with ID: " + identity.properties['id'])

Ta bort en identitet

När du tar bort en identitet återkallar du alla aktiva åtkomsttoken och förhindrar ytterligare utfärdande av åtkomsttoken för identiteten. Om du gör det raderas även allt beständiga innehåll som är associerat med identiteten.

client.delete_user(identity)
print("\nDeleted the identity with ID: " + identity.properties['id'])

Kör koden

Från en konsolprompt går du till katalogen som innehåller filen issue-access-tokens.py och kör sedan följande python kommando för att köra appen.

python ./issue-access-tokens.py

Appens utdata beskriver varje slutförd åtgärd:

Azure Communication Services - Access Tokens Quickstart

Created an identity with ID: 8:acs:4ccc92c8-9815-4422-bddc-ceea181dc774_00000006-19e0-2727-80f5-8b3a0d003502

Issued an access token with 'voip' scope that expires at 2022-10-11T07:34:29.9028648+00:00:
eyJhbGciOiJSUzI1NiIsImtpZCI6IjEwNiIsIng1dCI6Im9QMWFxQnlfR3hZU3pSaXhuQ25zdE5PU2p2cyIsInR5cCI6IkpXVCJ9.eyJza3lwZWlkIjoiYWNzOjAwMDAwMDAwLTAwMDAtMDAwMC0wMDAwLTAwMDAwMDAwMDAwMF8wMDAwMDAwMC0wMDAwLTAwMDAtMDAwMC0wMDAwMDAwMDAwMDAiLCJzY3AiOjE3OTIsImNzaSI6IjE2NjUzODcyNjkiLCJleHAiOjE2NjUzOTA4NjksImFjc1Njb3BlIjoidm9pcCIsInJlc291cmNlSWQiOiIwMDAwMDAwMC0wMDAwLTAwMDAtMDAwMC0wMDAwMDAwMDAwMDAiLCJyZXNvdXJjZUxvY2F0aW9uIjoidW5pdGVkc3RhdGVzIiwiaWF0IjoxNjY1Mzg3MjY5fQ.kTXpQQtY7w6O82kByljZXrKtBvNNOleDE5m06LapzLeoWfRZCCpJQcDzBoLRA146mOhNzLZ0b5WMNTa5tD-0hWCiicDwgKLMASEGY9g0EvNQOidPff47g2hh6yqi9PKiDPp-t5siBMYqA6Nh6CQ-Oeh-35vcRW09VfcqFN38IgSSzJ7QkqBiY_QtfXz-iaj81Td0287KO4U1y2LJIGiyJLWC567F7A_p1sl6NmPKUmvmwM47tyCcQ1r_lfkRdeyDmcrGgY6yyI3XJZQbpxyt2DZqOTSVPB4PuRl7iyXxvppEa4Uo_y_BdMOOWFe6YTRB5O5lhI8m7Tf0LifisxX2sw

Created an identity with ID: 8:acs:4ccc92c8-9815-4422-bddc-ceea181dc774_00000006-1ce9-31b4-54b7-a43a0d006a52

Issued an access token with 'voip' scope that expires at 2022-10-11T07:34:29.9028648+00:00:
eyJhbGciOiJSUzI1NiIsImtpZCI6IjEwNiIsIng1dCI6Im9QMWFxQnlfR3hZU3pSaXhuQ25zdE5PU2p2cyIsInR5cCI6IkpXVCJ9.eyJza3lwZWlkIjoiYWNzOjAwMDAwMDAwLTAwMDAtMDAwMC0wMDAwLTAwMDAwMDAwMDAwMF8wMDAwMDAwMC0wMDAwLTAwMDAtMDAwMC0wMDAwMDAwMDAwMDAiLCJzY3AiOjE3OTIsImNzaSI6IjE2NjUzODcyNjkiLCJleHAiOjE2NjUzOTA4NjksImFjc1Njb3BlIjoidm9pcCIsInJlc291cmNlSWQiOiIwMDAwMDAwMC0wMDAwLTAwMDAtMDAwMC0wMDAwMDAwMDAwMDAiLCJyZXNvdXJjZUxvY2F0aW9uIjoidW5pdGVkc3RhdGVzIiwiaWF0IjoxNjY1Mzg3MjY5fQ.kTXpQQtY7w6O82kByljZXrKtBvNNOleDE5m06LapzLeoWfRZCCpJQcDzBoLRA146mOhNzLZ0b5WMNTa5tD-0hWCiicDwgKLMASEGY9g0EvNQOidPff47g2hh6yqi9PKiDPp-t5siBMYqA6Nh6CQ-Oeh-35vcRW09VfcqFN38IgSSzJ7QkqBiY_QtfXz-iaj81Td0287KO4U1y2LJIGiyJLWC567F7A_p1sl6NmPKUmvmwM47tyCcQ1r_lfkRdeyDmcrGgY6yyI3XJZQbpxyt2DZqOTSVPB4PuRl7iyXxvppEa4Uo_y_BdMOOWFe6YTRB5O5lhI8m7Tf0LifisxX2sw

Successfully revoked all access tokens for identity with ID: 8:acs:4ccc92c8-9815-4422-bddc-ceea181dc774_00000006-19e0-2727-80f5-8b3a0d003502

Deleted the identity with ID: 8:acs:4ccc92c8-9815-4422-bddc-ceea181dc774_00000006-19e0-2727-80f5-8b3a0d003502

Förutsättningar

Den slutliga koden

Hitta den färdiga koden för den här snabbstarten på GitHub.

Konfigurera din miljö

Skapa ett nytt Java-program

I ett terminal- eller kommandotolkfönster går du till katalogen där du vill skapa java-programmet. Kör följande kod för att generera ett Java-projekt från mallen maven-archetype-quickstart:

mvn archetype:generate -DgroupId=com.communication.quickstart -DartifactId=communication-quickstart -DarchetypeArtifactId=maven-archetype-quickstart -DarchetypeVersion=1.4 -DinteractiveMode=false

Du kommer att märka att uppgiften generate skapar en katalog med samma namn som artifactId. Under den här katalogen innehåller katalogen src/main/java projektets källkod, katalogen src/test/java innehåller testkällan och filen pom.xml är projektets projektobjektmodell eller POM. Den här filen används för projektkonfigurationsparametrar.

Installera Communication Services-paketen

Öppna filen pom.xml i textredigeraren. Lägg till följande beroendeelement i gruppen med beroenden:

<dependency>
    <groupId>com.azure</groupId>
    <artifactId>azure-communication-identity</artifactId>
    <version>[1.4.0,)</version>
</dependency>

Den här koden instruerar Maven att installera Communication Services Identity SDK, som du kommer att använda senare.

Konfigurera appramverket

Gör följande i projektkatalogen:

  1. Gå till katalogen /src/main/java/com/communication/quickstart .
  2. Öppna filen App.java i redigeringsprogrammet.
  3. Ersätt -instruktionen System.out.println("Hello world!"); .
  4. Lägg till import direktiv.

Börja med följande kod:

package com.communication.quickstart;

import com.azure.communication.common.*;
import com.azure.communication.identity.*;
import com.azure.communication.identity.models.*;
import com.azure.core.credential.*;

import java.io.IOException;
import java.time.*;
import java.util.*;

public class App
{
    public static void main( String[] args ) throws IOException
    {
        System.out.println("Azure Communication Services - Access Tokens Quickstart");
        // Quickstart code goes here
    }
}

Autentisera klienten

Instansiera en CommunicationIdentityClient med resursens åtkomstnyckel och slutpunkt. Mer information finns i avsnittet "Lagra din anslutningssträng" i Skapa och hantera Communication Services-resurser.

Dessutom kan du initiera klienten med en anpassad HTTP-klient som implementerar com.azure.core.http.HttpClient gränssnittet.

I filen App.java lägger du till följande kod i main metoden:

// You can find your endpoint and access key from your resource in the Azure portal
String endpoint = "https://<RESOURCE_NAME>.communication.azure.com";
String accessKey = "SECRET";

CommunicationIdentityClient communicationIdentityClient = new CommunicationIdentityClientBuilder()
        .endpoint(endpoint)
        .credential(new AzureKeyCredential(accessKey))
        .buildClient();

I stället för att ange slutpunkten och åtkomstnyckeln kan du ange hela anslutningssträng med hjälp connectionString() av metoden .

// You can find your connection string from your Communication Services resource in the Azure portal
String connectionString = "<connection_string>";

CommunicationIdentityClient communicationIdentityClient = new CommunicationIdentityClientBuilder()
    .connectionString(connectionString)
    .buildClient();

Om du redan har konfigurerat ett Microsoft Entra-program kan du autentisera med hjälp av Microsoft Entra-ID.

String endpoint = "https://<RESOURCE_NAME>.communication.azure.com";
TokenCredential credential = new DefaultAzureCredentialBuilder().build();

CommunicationIdentityClient communicationIdentityClient = new CommunicationIdentityClientBuilder()
        .endpoint(endpoint)
        .credential(credential)
        .buildClient();

Skapa en identitet

För att skapa åtkomsttoken behöver du en identitet. Azure Communication Services har en enkel identitetskatalog för detta ändamål. createUser Använd metoden för att skapa en ny post i katalogen med en unik Id.

CommunicationUserIdentifier user = communicationIdentityClient.createUser();
System.out.println("\nCreated an identity with ID: " + user.getId());

Den skapade identiteten krävs senare för att utfärda åtkomsttoken. Lagra den mottagna identiteten med mappning till programmets användare (till exempel genom att lagra den i programserverdatabasen).

Utfärda en åtkomsttoken

Använd metoden getToken för att utfärda en åtkomsttoken för din Communication Services-identitet. Parametern scopes definierar en uppsättning behörigheter och roller för åtkomsttoken. Mer information finns i listan över åtgärder som stöds i identitetsmodellen.

I följande kod använder du användarvariabeln som du skapade i föregående steg för att hämta en token.

// Issue an access token with a validity of 24 hours and the "voip" scope for a user identity
List<CommunicationTokenScope> scopes = new ArrayList<>(Arrays.asList(CommunicationTokenScope.VOIP));
AccessToken accessToken = communicationIdentityClient.getToken(user, scopes);
OffsetDateTime expiresAt = accessToken.getExpiresAt();
String token = accessToken.getToken();
System.out.println("\nIssued an access token with 'voip' scope that expires at: " + expiresAt + ": " + token);

Åtkomsttoken är kortlivade autentiseringsuppgifter som måste återutfärdas. Om du inte gör det kan det orsaka avbrott i programanvändarens upplevelse. Egenskapen expiresAt anger livslängden för åtkomsttoken.

Ange en anpassad tokens förfallotid

Förfallotiden för standardtoken är 24 timmar, men du kan konfigurera den genom att ange ett värde mellan en timme och 24 timmar till den valfria parametern tokenExpiresIn. När du begär en ny token rekommenderar vi att du anger den förväntade typiska längden på en kommunikationssession för förfallotiden för token.

// Issue an access token with a validity of an hour and the "voip" scope for a user identity
List<CommunicationTokenScope> scopes = new ArrayList<>(Arrays.asList(CommunicationTokenScope.VOIP));
Duration tokenExpiresIn = Duration.ofHours(1);
AccessToken accessToken = communicationIdentityClient.getToken(user, scopes, tokenExpiresIn);

Skapa en identitet och utfärda en token i en begäran

Du kan också använda metoden "createUserAndToken" för att skapa en ny post i katalogen med en unik Id och utfärda en åtkomsttoken samtidigt.

//Create an identity and issue token with a validity of 24 hours in one call
List<CommunicationTokenScope> scopes = Arrays.asList(CommunicationTokenScope.CHAT);
CommunicationUserIdentifierAndToken result = communicationIdentityClient.createUserAndToken(scopes);
CommunicationUserIdentifier user = result.getUser();
System.out.println("\nCreated a user identity with ID: " + user.getId());
AccessToken accessToken = result.getUserToken();
OffsetDateTime expiresAt = accessToken.getExpiresAt();
String token = accessToken.getToken();
System.out.println("\nIssued an access token with 'chat' scope that expires at: " + expiresAt + ": " + token);

Uppdatera en åtkomsttoken

Om du vill uppdatera en åtkomsttoken använder du CommunicationUserIdentifier objektet för att återissätta den:

// existingIdentity represents the Communication Services identity that's stored during identity creation
CommunicationUserIdentifier identity = new CommunicationUserIdentifier(existingIdentity.getId());
AccessToken response = communicationIdentityClient.getToken(identity, scopes);

Återkalla en åtkomsttoken

Ibland kan du behöva återkalla en åtkomsttoken uttryckligen. Du skulle till exempel göra det när programanvändare ändrar lösenordet de använder för att autentisera till din tjänst. Metoden revokeTokens ogiltigförklarar alla aktiva åtkomsttoken för en viss användare. I följande kod kan du använda den tidigare skapade användaren.

communicationIdentityClient.revokeTokens(user);
System.out.println("\nSuccessfully revoked all access tokens for user identity with ID: " + user.getId());

Ta bort en identitet

När du tar bort en identitet återkallar du alla aktiva åtkomsttoken och förhindrar ytterligare utfärdande av åtkomsttoken för identiteten. Om du gör det raderas även allt beständiga innehåll som är associerat med identiteten.

communicationIdentityClient.deleteUser(user);
System.out.println("\nDeleted the user identity with ID: " + user.getId());

Kör koden

Gå till katalogen som innehåller filen pom.xml och kompilera sedan projektet med hjälp av följande mvn kommando:

mvn compile

Skapa sedan paketet:

mvn package

Kör följande mvn kommando för att köra appen:

mvn exec:java -Dexec.mainClass="com.communication.quickstart.App" -Dexec.cleanupDaemonThreads=false

Appens utdata beskriver varje slutförd åtgärd:

Azure Communication Services - Access Tokens Quickstart

Created an identity with ID: 8:acs:4ccc92c8-9815-4422-bddc-ceea181dc774_00000006-19e0-2727-80f5-8b3a0d003502

Issued an access token with 'voip' scope that expires at 2022-10-11T07:34:29.902864800Z:
eyJhbGciOiJSUzI1NiIsImtpZCI6IjEwNiIsIng1dCI6Im9QMWFxQnlfR3hZU3pSaXhuQ25zdE5PU2p2cyIsInR5cCI6IkpXVCJ9.eyJza3lwZWlkIjoiYWNzOjAwMDAwMDAwLTAwMDAtMDAwMC0wMDAwLTAwMDAwMDAwMDAwMF8wMDAwMDAwMC0wMDAwLTAwMDAtMDAwMC0wMDAwMDAwMDAwMDAiLCJzY3AiOjE3OTIsImNzaSI6IjE2NjUzODcyNjkiLCJleHAiOjE2NjUzOTA4NjksImFjc1Njb3BlIjoidm9pcCIsInJlc291cmNlSWQiOiIwMDAwMDAwMC0wMDAwLTAwMDAtMDAwMC0wMDAwMDAwMDAwMDAiLCJyZXNvdXJjZUxvY2F0aW9uIjoidW5pdGVkc3RhdGVzIiwiaWF0IjoxNjY1Mzg3MjY5fQ.kTXpQQtY7w6O82kByljZXrKtBvNNOleDE5m06LapzLeoWfRZCCpJQcDzBoLRA146mOhNzLZ0b5WMNTa5tD-0hWCiicDwgKLMASEGY9g0EvNQOidPff47g2hh6yqi9PKiDPp-t5siBMYqA6Nh6CQ-Oeh-35vcRW09VfcqFN38IgSSzJ7QkqBiY_QtfXz-iaj81Td0287KO4U1y2LJIGiyJLWC567F7A_p1sl6NmPKUmvmwM47tyCcQ1r_lfkRdeyDmcrGgY6yyI3XJZQbpxyt2DZqOTSVPB4PuRl7iyXxvppEa4Uo_y_BdMOOWFe6YTRB5O5lhI8m7Tf0LifisxX2sw

Created an identity with ID: 8:acs:4ccc92c8-9815-4422-bddc-ceea181dc774_00000006-1ce9-31b4-54b7-a43a0d006a52

Issued an access token with 'chat' scope that expires at 2022-10-11T07:34:29.902864800Z:
eyJhbGciOiJSUzI1NiIsImtpZCI6IjEwNiIsIng1dCI6Im9QMWFxQnlfR3hZU3pSaXhuQ25zdE5PU2p2cyIsInR5cCI6IkpXVCJ9.eyJza3lwZWlkIjoiYWNzOjAwMDAwMDAwLTAwMDAtMDAwMC0wMDAwLTAwMDAwMDAwMDAwMF8wMDAwMDAwMC0wMDAwLTAwMDAtMDAwMC0wMDAwMDAwMDAwMDAiLCJzY3AiOjE3OTIsImNzaSI6IjE2NjUzODcyNjkiLCJleHAiOjE2NjUzOTA4NjksImFjc1Njb3BlIjoidm9pcCIsInJlc291cmNlSWQiOiIwMDAwMDAwMC0wMDAwLTAwMDAtMDAwMC0wMDAwMDAwMDAwMDAiLCJyZXNvdXJjZUxvY2F0aW9uIjoidW5pdGVkc3RhdGVzIiwiaWF0IjoxNjY1Mzg3MjY5fQ.kTXpQQtY7w6O82kByljZXrKtBvNNOleDE5m06LapzLeoWfRZCCpJQcDzBoLRA146mOhNzLZ0b5WMNTa5tD-0hWCiicDwgKLMASEGY9g0EvNQOidPff47g2hh6yqi9PKiDPp-t5siBMYqA6Nh6CQ-Oeh-35vcRW09VfcqFN38IgSSzJ7QkqBiY_QtfXz-iaj81Td0287KO4U1y2LJIGiyJLWC567F7A_p1sl6NmPKUmvmwM47tyCcQ1r_lfkRdeyDmcrGgY6yyI3XJZQbpxyt2DZqOTSVPB4PuRl7iyXxvppEa4Uo_y_BdMOOWFe6YTRB5O5lhI8m7Tf0LifisxX2sw

Successfully revoked all access tokens for identity with ID: 8:acs:4ccc92c8-9815-4422-bddc-ceea181dc774_00000006-19e0-2727-80f5-8b3a0d003502

Deleted the identity with ID: 8:acs:4ccc92c8-9815-4422-bddc-ceea181dc774_00000006-19e0-2727-80f5-8b3a0d003502

Förutsättningar

Skapa åtkomsttoken

I Azure-portalen går du till bladet Identiteter och användaråtkomsttoken i din Communication Services-resurs.

Välj omfånget för åtkomsttoken. Du kan inte välja någon, en eller flera. Klicka på Generera.

Välj omfången för identitets- och åtkomsttoken.

Du ser en identitet och motsvarande användaråtkomsttoken genererad. Du kan kopiera dessa strängar och använda dem i exempelappar och andra testscenarier.

Identitets- och åtkomsttoken genereras och förfallodatumet visas.

Förutsättningar

Skapa användare

Lägg till ett nytt steg i arbetsflödet med hjälp av Azure Communication Services Identity Connector. Följ dessa steg i Power Automate med power automate-flödet öppet i redigeringsläge.

  1. I designern går du till steget där du vill lägga till den nya åtgärden och väljer Nytt steg. Du kan också lägga till den nya åtgärden mellan stegen genom att flytta pekaren över pilen mellan dessa steg, välja plustecknet (+) och välja Lägg till en åtgärd.

  2. I sökrutan Välj en åtgärd anger du Communication Services-identitet. I åtgärdslistan väljer du Skapa en användare.

    Skärmbild som visar azure communication services-identitetsanslutningsappen Skapa användaråtgärd.

  3. Ange Anslut ionssträngen. Detta finns i Microsoft Azure, i din Azure Communication Service-resurs, på alternativet Nycklar på den vänstra menyn > Anslut ionssträng

    Skärmbild som visar sidan Nycklar i en Azure Communication Services-resurs.

  4. Ange ett Anslut ionsnamn

  5. Klicka på Skapa

    Den här åtgärden matar ut ett användar-ID, som är en kommunikationstjänstanvändares identitet. Om du klickar på Visa avancerade alternativ och väljer tokenomfånget matar åtgärden även ut en åtkomsttoken och dess förfallotid med det angivna omfånget.

    Skärmbild som visar Azure Communication Services-anslutningsappen Skapa användaråtgärd.

    Skärmbild som visar Azure Communication Services-anslutningsappen Skapa avancerade alternativ för användaråtgärder.

Utfärda en användaråtkomsttoken

När du har en Communication Services-identitet kan du använda åtgärden Utfärda en användaråtkomsttoken för att utfärda en åtkomsttoken. Följande steg visar hur:

  1. Lägg till en ny åtgärd och ange Communication Services Identity i sökrutan. I åtgärdslistan väljer du Utfärda en användaråtkomsttoken.

    Skärmbild som visar åtgärden Problem med åtkomsttoken för Azure Communication Services-identitetsanslutning.

  2. Sedan kan du använda användar-ID-utdata från föregående steg skapa en användare .

  3. Ange tokenomfånget: VoIP eller chatt. Läs mer om token och autentisering.

    Skärmbild som visar åtgärden Problem med åtkomsttoken i Azure Communication Services-identitetsanslutningen, som anger tokenomfånget.

Detta matar ut en åtkomsttoken och dess förfallotid med det angivna omfånget.

Återkalla användaråtkomsttoken

När du har en Communication Services-identitet kan du använda åtgärden Utfärda en användaråtkomsttoken för att återkalla en åtkomsttoken. Följande steg visar hur:

  1. Lägg till en ny åtgärd och ange Communication Services Identity i sökrutan. I åtgärdslistan väljer du Återkalla användaråtkomsttoken.

    Skärmbild som visar åtgärden Återkalla åtkomsttoken för Azure Communication Services Identity Connector.

  2. Ange användar-ID

    Skärmbild som visar indata för åtgärden Återkalla åtkomsttoken för Azure Communication Services Identity Connector.

Detta återkallar alla användaråtkomsttoken för den angivna användaren, det finns inga utdata för den här åtgärden.

Ta bort en användare

När du har en Communication Services-identitet kan du använda åtgärden Utfärda en användaråtkomsttoken för att ta bort en åtkomsttoken . Följande steg visar hur:

  1. Lägg till en ny åtgärd och ange Communication Services Identity i sökrutan. I åtgärdslistan väljer du Ta bort en användare.

    Skärmbild som visar åtgärden Ta bort användaråtgärd för Azure Communication Services Identity Connector.

  2. Ange användar-ID

    Skärmbild som visar Azure Communication Services Identity Connector Ta bort användaråtgärdsindata.

    Detta tar bort användaren och återkallar alla användaråtkomsttoken för den angivna användaren, det finns inga utdata för den här åtgärden.

Testa logikappen

Om du vill starta arbetsflödet manuellt går du till verktygsfältet designer och väljer Kör. Arbetsflödet ska skapa en användare, utfärda en åtkomsttoken för användaren och sedan ta bort den och ta bort användaren. Mer information finns i hur du kör arbetsflödet. Du kan kontrollera utdata från dessa åtgärder när arbetsflödet har körts.

Använda identitet för övervakning och mått

Användar-ID:t är avsett att fungera som en primärnyckel för loggar och mått som samlas in via Azure Monitor. Om du till exempel vill visa alla en användares anrop kan du konfigurera din autentisering på ett sätt som mappar en specifik Azure Communication Services-identitet (eller identiteter) till en enskild användare.

Läs mer om autentiseringsbegrepp, anropa diagnostik via log analytics och mått som är tillgängliga för dig.

Rensa resurser

Om du vill rensa och ta bort en Communication Services-prenumeration tar du bort resursen eller resursgruppen. Om du tar bort en resursgrupp tas även alla andra resurser som är associerade med den bort. Mer information finns i avsnittet "Rensa resurser" i Skapa och hantera Communication Services-resurser.

Om du vill rensa logikappens arbetsflöde och relaterade resurser kan du läsa om hur du rensar Azure Logic Apps-resurser.

Nästa steg

I den här snabbstarten har du lärt dig att:

  • Problem med åtkomsttoken
  • Hantera identiteter

Du kanske också vill:

Nästa steg

I den här snabbstarten har du lärt dig hur du skapar en användare, tar bort en användare, utfärdar en åtkomsttoken för en användare och tar bort användaråtkomsttoken med hjälp av Azure Communication Services Identity Connector. Mer information finns i dokumentationen om Azure Communication Services Identity Anslut eller.

Om du vill se hur token används av andra anslutningsappar kan du se hur du skickar ett chattmeddelande från Power Automate med Hjälp av Azure Communication Services.

Mer information om hur du skickar ett e-postmeddelande med hjälp av Azure Communication Services-e-postanslutningen finns i Skicka e-postmeddelande i Power Automate med Azure Communication Services.