Snabbstart: Skapa och hantera åtkomsttoken

Med åtkomsttoken kan ACS-SDK:er autentisera direkt Azure Communication Services en viss identitet. Du måste skapa några om du vill att användarna ska ansluta till ett anrop eller en chatttråd i ditt program.

Du kan också använda ACS-SDK:er för att skapa identiteter och hantera dina åtkomsttoken, och i den här snabbstarten lär vi oss att göra detta. I produktionsfall rekommenderar vi att du genererar åtkomsttoken på en tjänst på serversidan.

Priser som visas i bilder i den här självstudien är endast i demonstrationssyfte.

Förutsättningar

Slutlig kod

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

Inrätta

Skapa ett nytt C#-program

I ett konsolfönster (till exempel cmd, PowerShell eller Bash) använder du kommandot för att skapa en dotnet new 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 och använd kommandot dotnet build för att kompilera programmet.

cd AccessTokensQuickstart
dotnet build

Du bör se en enkel "Hello World"-utdata. Om allt fungerar innebär det att konfigurationen fungerar korrekt och att vi kan komma igång med att skriva vår ACS-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 av dotnet add package kommandot .

dotnet add package Azure.Communication.Identity --version 1.0.0

Konfigurera appramverket

Från projektkatalogen:

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

Använd följande kod för att börja:

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

Nu ska vi initiera en med CommunicationIdentityClient anslutningssträngen. Koden nedan hämtar anslutningssträngen för resursen från en miljövariabel med namnet COMMUNICATION_SERVICES_CONNECTION_STRING . Lär dig hur du hanterar resursens anslutningssträng.

Lägg till följande kod i Main-metoden:

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

Du kan också avgränsa slutpunkten och åtkomstnyckeln.

// 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 har ett Azure Active Directory(AD)-program kan du även autentisera med AD.

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

Skapa en identitet

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

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

Du bör lagra den mottagna identiteten med en mappning till programmets användare. Till exempel genom att lagra dem i programserverns databas.

Utfärda identitetsåtkomsttoken

När du har en identitet använder du metoden GetToken för att utfärda en åtkomsttoken för identiteten. Parametern scopes definierar en uppsättning behörigheter/förmågor som den här åtkomsttoken kan utföra. Se listan över åtgärder som stöds. En ny instans av en communicationUser kan också konstrueras baserat på strängrepresentation av en Azure Communication Service-identitet.

// Issue an access token with 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;

// Write the token details to the screen
Console.WriteLine($"\nIssued an access token with 'voip' scope that expires at {expiresOn}:");
Console.WriteLine(token);

Åtkomsttoken är kortvariga autentiseringsuppgifter som måste ges igen. Om du inte gör det kan det orsaka avbrott i programmets användarupplevelse. expiresOnSvarsegenskapen anger livslängden för åtkomsttoken.

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

Du kan använda metoden CreateUserAndTokenAsync för att skapa Communication Services identitet och utfärda en åtkomsttoken för den på samma gång. Parametern scopes definierar en uppsättning behörigheter/förmågor som den här åtkomsttoken kan utföra. Se listan över åtgärder som stöds.

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

// Retrieve the identity, token and expiry date from the response
var identity = identityAndTokenResponse.Value.User;
var token = identityAndTokenResponse.Value.AccessToken.Token;
var expiresOn = identityAndTokenResponse.Value.AccessToken.ExpiresOn;

// Print these details to the screen
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 och behöver skapa en ny kan du göra det genom att skicka den lagrade till Id CommunicationUserIdentifier Id 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

I vissa fall kan du behöva återkalla åtkomsttoken explicit. Till exempel när ett programs användare ändrar det lösenord som de använder för att autentisera till din tjänst. Metoden RevokeTokensAsync gör alla aktiva åtkomsttoken ogiltiga, 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

Om du tar bort en identitet återkallas alla aktiva åtkomsttoken och du kan inte utfärda åtkomsttoken för identiteterna. Det tar även bort allt stä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 är klar kan du köra programmet från programkatalogen med dotnet run kommandot .

dotnet run

Förutsättningar

Slutlig kod

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

Inrätta

Skapa ett nytt Node.js program

Öppna terminal- eller kommandofönstret och skapa en ny katalog för appen och navigera till den.

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

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

npm init -y

Installera paketet

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

npm install @azure/communication-identity --save

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

Konfigurera appramverket

Använd följande kod i projektkatalogen för att börja:

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);
})

När du är klar sparar du den nya filen issue-access-token.js som i projektkatalogen.

Autentisera klienten

Instansiera CommunicationIdentityClient en med anslutningssträngen. Koden nedan hämtar anslutningssträngen för resursen från en miljövariabel med namnet COMMUNICATION_SERVICES_CONNECTION_STRING . Lär dig hur du hanterar resursens anslutningssträng.

Lägg till följande kod i main-metoden:

// 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.

// 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 har ett Azure Active Directory(Azure AD)-program kan du även autentisera medAzure AD.

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

Skapa en identitet

Om du vill skapa åtkomsttoken behöver du en identitet. Azure Communication Services har en enkel identitetskatalog. Använd metoden createUser för att skapa en ny post i katalogen med en unik Id . Den skapade identiteten krävs senare för att utfärda åtkomsttoken.

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

Du bör lagra mottagna identiteter med en mappning till programmets användare. Till exempel i programserverns databas.

Utfärda åtkomsttoken

Använd metoden getToken för att utfärda en åtkomsttoken för en befintlig Communication Services identitet. Parametern scopes definierar en lista över behörigheter/roller som denna token kan utföra/använda. Se listan över åtgärder som stöds. En ny instans av communicationUser parametern kan konstrueras baserat på strängrepresentationen av en Azure Communication Service-identitet.

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

// retrieve the token and its expiry date from the response
const { token, expiresOn } = tokenResponse;

// Print the expiry date and token to the screen
console.log(`\nIssued an access token with 'voip' scope that expires at ${expiresOn}:`);
console.log(token);

Åtkomsttoken är kortvariga autentiseringsuppgifter som måste ges igen. Om du inte gör det kan det orsaka avbrott i programmets användarupplevelse. Egenskapen expiresOn anger livslängden för åtkomsttoken.

Skapa en identitet och utfärda en åtkomsttoken i ett metod-anrop

Du kan använda metoden createUserAndToken för att skapa en Communication Services identitet och utfärda en åtkomsttoken för den på ett och samma sätt. Parametern scopes är samma som ovan. Vi skapar återigen bara ett med voip omfånget .

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

// retrieve the token, its expiry date and user from the response
const { token, expiresOn, user } = identityTokenResponse;

// print these details to the screen
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 åtkomsttoken

När token upphör att gälla måste du regelbundet uppdatera dem. Det är enkelt att uppdatera getToken igen med samma identitet som användes för att utfärda token. Du måste också ange för 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

I vissa fall kanske du vill återkalla åtkomsttoken. Till exempel när ett programs användare ändrar det lösenord som de använder för att autentisera till din tjänst. Metoden revokeTokens gör alla aktiva åtkomsttoken ogiltiga, 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

Om du tar bort en identitet återkallas alla aktiva åtkomsttoken och du kan inte utfärda åtkomsttoken för identiteten. Det tar även bort allt stä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 konsoluppfråga navigerar du till katalogen som issue-access-token.js innehåller filen och kör sedan följande kommando för att köra node appen.

node ./issue-access-token.js

Förutsättningar

Slutlig kod

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

Inrätta

Skapa ett nytt Python-program

  1. Öppna terminal- eller kommandofönstret och skapa en ny katalog för appen och navigera till den.

    mkdir access-tokens-quickstart && cd access-tokens-quickstart
    
  2. Använd en textredigerare för att skapa en fil med namnet i projektets rotkatalog och lägg till issue-access-tokens.py 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 följande avsnitt.

    import os
    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 av pip install kommandot .

pip install azure-communication-identity

Autentisera klienten

Nu ska vi instansiera en CommunicationIdentityClient med anslutningssträngen. Koden nedan hämtar anslutningssträngen för resursen från en miljövariabel med namnet COMMUNICATION_SERVICES_CONNECTION_STRING . Lär dig hur du hanterar resursens anslutningssträng.

Lägg till den här koden i try blocket:

# This code demonstrates how to fetch 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 har ett Azure Active Directory(Azure AD)-program kan du också använda tjänstenshuvudnamn . Du kan också autentisera med Azure AD.

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

Skapa en identitet

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

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

Du bör lagra den mottagna identiteten med en mappning till programmets användare. Till exempel genom att lagra dem i programserverns databas.

Utfärda åtkomsttoken

Använd metoden get_token för att utfärda en åtkomsttoken för en befintlig Communication Services identitet. Parametern scopes definierar en uppsättning behörigheter/förmågor som den här åtkomsttoken kan utföra. Se listan över åtgärder som stöds. en ny instans av CommunicationUserIdentifier parametern kan också konstrueras baserat på strängrepresentationen av Azure Communication Service-identiteten.

# Issue an access token with the "voip" scope for an identity
token_result = client.get_token(identity, ["voip"])
expires_on = token_result.expires_on.strftime("%d/%m/%y %I:%M %S %p")

# Print these details to the screen
print("\nIssued an access token with 'voip' scope that expires at " + expires_on + ":")
print(token_result.token)

Åtkomsttoken är kortvariga autentiseringsuppgifter som måste ges igen. Om du inte gör det kan det orsaka avbrott i programmets användarupplevelse. expires_onSvarsegenskapen anger livslängden för åtkomsttoken.

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

Du kan använda metoden create_user_and_token för att skapa en Communication Services identitet och utfärda en åtkomsttoken för den. Parametern scopes definierar en uppsättning behörigheter/förmågor som den här åtkomsttoken kan utföra.. Se listan över åtgärder som stöds.

# Issue an identity and an access token with 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.strftime("%d/%m/%y %I:%M %S %p")

# Print these to the screen
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 åtkomsttoken

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

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

Återkalla åtkomsttoken

I vissa fall kanske du uttryckligen vill återkalla åtkomsttoken. Till exempel när ett programs användare ändrar det lösenord som de använder för att autentisera till din tjänst. Metoden revoke_tokens gör alla aktiva åtkomsttoken ogiltiga, 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

Om du tar bort en identitet återkallas alla aktiva åtkomsttoken och du kan inte utfärda åtkomsttoken för identiteten. Det tar även bort allt stä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 konsoluppfråga navigerar du till katalogen som issue-access-tokens.py innehåller filen och kör sedan följande kommando för att köra python appen.

python ./issue-access-tokens.py

Förutsättningar

Slutlig kod

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

Inrätta

Skapa ett nytt Java-program

Öppna terminalen eller kommandofönstret. Navigera till katalogen där du vill skapa java-programmet. Kör kommandot nedan för att generera Java-projektet 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 ser att aktiviteten "generate" skapade en katalog med samma namn som artifactId . Under den här katalogen innehåller katalogen src/main/java projektets källkod, innehåller testkällan och filen är projektets Project src/test/java directory pom.xml Object Model eller POM. Den här filen används för projektkonfigurationsparametrar.

Installera ACS-paketen

Öppna 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.0.0</version>
</dependency>

Detta instruerar Maven att installera ACS Identity SDK när vi använder det senare.

Konfigurera appramverket

Från projektkatalogen:

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

Använd följande kod för att börja:

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 CommunicationIdentityClient en med resursens åtkomstnyckel och slutpunkt. Lär dig hur du hanterar resursens anslutningssträng. Dessutom kan du initiera klienten med valfri anpassad HTTP-klient som implementerar com.azure.core.http.HttpClient -gränssnittet.

Lägg till följande kod i main metoden inuti App.java :

// 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();

Du kan också ange hela anslutningssträngen med hjälp av connectionString() metoden i stället för att ange slutpunkten och åtkomstnyckeln.

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

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

Om du har ett Azure Active Directory(Azure AD)-program kan du se Använda tjänstens huvudnamn, du kan också autentisera med Azure AD.

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

Om du vill skapa åtkomsttoken behöver du en identitet. Azure Communication Services har en enkel identitetskatalog. Använd metoden createUser 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. Du bör därför lagra alla mottagna identiteter med en mappning till programmets användare. Till exempel genom att lagra dem i programserverns databas.

Utfärda åtkomsttoken

Använd metoden getToken för att utfärda en åtkomsttoken för en befintlig Communication Services identitet. Parametern scopes definierar en uppsättning behörigheter och funktioner som denna token kommer att kunna utföra. Se listan över åtgärder som stöds för giltiga värden. I det här fallet använder vi användarvariabeln som skapades i föregående steg för att hämta en token.

// Issue an access token with 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);

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

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

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);

Åtkomsttoken är kortvariga autentiseringsuppgifter som måste ges igen. Om du inte gör det kan det orsaka avbrott i programmets användarupplevelse. Egenskapen expiresAt anger livslängden för åtkomsttoken.

Uppdatera åtkomsttoken

Om du vill uppdatera en åtkomsttoken CommunicationUserIdentifier använder du -objektet för att återutgå:

// existingIdentity represents identity of Azure Communication Services stored during identity creation
CommunicationUserIdentifier identity = new CommunicationUserIdentifier(existingIdentity.getId());
AccessToken response = communicationIdentityClient.getToken(identity, scopes);

Återkalla en åtkomsttoken

I vissa fall kan du uttryckligen återkalla åtkomsttoken. Till exempel när ett programs användare ändrar det lösenord som de använder för att autentisera till din tjänst. Metoden revokeTokens gör alla aktiva åtkomsttoken ogiltiga för en viss användare. I det här fallet använder vi återigen 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

Om du tar bort en identitet återkallas alla aktiva åtkomsttoken och du kan inte utfärda åtkomsttoken för identiteten. Det tar även bort allt stä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

Navigera till katalogen som innehåller pom.xml filen och kompilera 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 åtgärd som har slutförts:

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 30/03/21 08:09 09 AM:
<token signature here>

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 30/03/21 08:09 09 AM:
<token signature here>

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

Rensa resurser

Om du vill rensa och ta bort en Communication Services prenumeration kan du ta bort resursen eller resursgruppen. Om du tar bort resursgruppen tas även alla andra resurser som är associerade med den bort. Läs mer om att rensa resurser.

Nästa steg

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

  • Hantera identiteter
  • Utfärda åtkomsttoken
  • Använda Communication Services Identity SDK

Du kanske också vill: