Rövid útmutató: Hozzáférési jogkivonatok létrehozása és kezelése

A hozzáférési jogkivonatokkal az Azure Communication Services SDK-k közvetlenül az Azure Communication Servicesen keresztül hitelesíthetők egy adott identitásként. Hozzáférési jogkivonatokat kell létrehoznia, ha azt szeretné, hogy a felhasználók csatlakozzanak egy híváshoz vagy csevegési szálhoz az alkalmazásban.

Ebben a rövid útmutatóban megtudhatja, hogyan hozhat létre identitásokat az Azure Communication Services SDK-kkal, és hogyan kezelheti a hozzáférési jogkivonatokat. Éles használat esetén javasoljuk, hogy hozzon létre hozzáférési jogkivonatokat egy kiszolgálóoldali szolgáltatásban.

Előfeltételek

Beállítás

A bővítmény hozzáadása

Adja hozzá az Azure CLI Azure Communication Services-bővítményét a az extension parancs használatával.

az extension add --name communication

Bejelentkezés az Azure CLI-be

Be kell jelentkeznie az Azure CLI-be. Bejelentkezhet a az login parancs terminálról való futtatásával, és megadhatja a hitelesítő adatait.

(Nem kötelező) Azure CLI-identitásműveletek használata kapcsolati sztring átadása nélkül

A környezeti változót AZURE_COMMUNICATION_CONNECTION_STRING úgy konfigurálhatja, hogy az Azure CLI-identitásműveleteket használja anélkül, hogy --connection_string a kapcsolati sztring kellene átadnia. Környezeti változó konfigurálásához nyisson meg egy konzolablakot, és válassza ki az operációs rendszert az alábbi lapokról. Cserélje le <yourConnectionString> a tényleges kapcsolati sztring.

Nyisson meg egy konzolablakot, és írja be a következő parancsot:

setx AZURE_COMMUNICATION_CONNECTION_STRING "<yourConnectionString>"

Miután hozzáadta a környezeti változót, előfordulhat, hogy újra kell indítania minden futó programot, amelynek szüksége lehet a környezeti változó beolvasására, beleértve a konzolablakot is. Ha például a Visual Studiót használja szerkesztőként, indítsa újra a Visual Studiót a példa futtatása előtt.

A hozzáférési jogkivonat tárolása környezeti változóban

Környezeti változó konfigurálásához nyisson meg egy konzolablakot, és válassza ki az operációs rendszert az alábbi lapokról. Cserélje le <yourAccessToken> a tényleges hozzáférési jogkivonatra.

Nyisson meg egy konzolablakot, és írja be a következő parancsot:

setx AZURE_COMMUNICATION_ACCESS_TOKEN "<yourAccessToken>"

Miután hozzáadta a környezeti változót, előfordulhat, hogy újra kell indítania minden futó programot, amelynek szüksége lehet a környezeti változó beolvasására, beleértve a konzolablakot is. Ha például a Visual Studiót használja szerkesztőként, indítsa újra a Visual Studiót a példa futtatása előtt.

Üzemeltetés

Identitás létrehozása

Hozzáférési jogkivonatok létrehozásához identitásra van szükség. Az Azure Communication Services ehhez egy egyszerűsített identitáskönyvtárat tart fenn. user create A paranccsal hozzon létre egy új bejegyzést a könyvtárban egy egyedi Idparanccsal. Az identitásra később szükség lesz a hozzáférési jogkivonatok kiállításához.

az communication identity user create --connection-string "<yourConnectionString>"
  • Cserélje le <yourConnectionString> a kapcsolati sztring.

Identitás létrehozása és hozzáférési jogkivonat kiállítása ugyanabban a kérelemben

Futtassa a következő parancsot egy Communication Services-identitás létrehozásához, és adjon ki egy hozzáférési jogkivonatot egyszerre. A scopes paraméter hozzáférési jogkivonat-engedélyek és szerepkörök készletét határozza meg. További információkért tekintse meg a támogatott műveletek listáját az Azure Communication Services hitelesítésében.

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

Végezze el ezt a pótlást a kódban:

  • Cserélje le <yourConnectionString> a kapcsolati sztring.

Hozzáférési jogkivonat kiállítása

Futtassa a következő parancsot egy hozzáférési jogkivonat kiadásához a Communication Services-identitáshoz. A scopes paraméter hozzáférési jogkivonat-engedélyek és szerepkörök készletét határozza meg. További információkért tekintse meg a támogatott műveletek listáját az Azure Communication Services hitelesítésében.

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

Végezze el ezt a pótlást a kódban:

  • Cserélje le <yourConnectionString> a kapcsolati sztring.
  • Cserélje le <userId> a userId azonosítót.

A hozzáférési jogkivonatok rövid élettartamú hitelesítő adatok, amelyeket újra ki kell adni. Ha ezt nem teszi meg, az az alkalmazás felhasználói élményének megszakadását okozhatja. A expires_on válasz tulajdonság a hozzáférési jogkivonat élettartamát jelzi.

Hozzáférési jogkivonat kiállítása több hatókörrel

Futtassa az alábbi parancsot egy hozzáférési jogkivonat kiadásához, amely több hatókörrel rendelkezik a Communication Services-identitáshoz. A scopes paraméter hozzáférési jogkivonat-engedélyek és szerepkörök készletét határozza meg. További információkért tekintse meg az identitásmodellben támogatott műveletek listáját.

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

Végezze el ezt a pótlást a kódban:

  • Cserélje le <yourConnectionString> a kapcsolati sztring.
  • Cserélje le <userId> a userId azonosítót.

A hozzáférési jogkivonatok rövid élettartamú hitelesítő adatok, amelyeket újra ki kell adni. Ha ezt nem teszi meg, az az alkalmazás felhasználói élményének megszakadását okozhatja. A expires_on válasz tulajdonság a hozzáférési jogkivonat élettartamát jelzi.

A Teams-felhasználó Microsoft Entra hozzáférési jogkivonatának cseréje kommunikációs identitás hozzáférési jogkivonatra

token get-for-teams-user A parancs használatával kibocsáthat egy hozzáférési jogkivonatot a Teams-felhasználó számára, amely az Azure Communication Services SDK-kkal használható.

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

Végezze el ezt a pótlást a kódban:

  • Cserélje le <yourConnectionString> a kapcsolati sztring.
  • Cserélje le <yourAadUser> a Microsoft Entra userId azonosítóját.
  • Cserélje le <yourAadApplication> a Microsoft Entra alkalmazásazonosítóját.
  • Cserélje le <yourAadToken> a Microsoft Entra hozzáférési jogkivonatára.

Hozzáférési jogkivonatok visszavonása

Előfordulhat, hogy időnként explicit módon vissza kell vonnia egy hozzáférési jogkivonatot. Ezt például akkor teheti meg, ha az alkalmazás felhasználói megváltoztatják a szolgáltatásban való hitelesítéshez használt jelszót. A token revoke parancs érvényteleníti az identitás számára kiadott összes aktív hozzáférési jogkivonatot.

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

Végezze el ezt a pótlást a kódban:

  • Cserélje le <yourConnectionString> a kapcsolati sztring.
  • Cserélje le <userId> a userId azonosítót.

Identitás törlése

Identitás törlésekor visszavonja az összes aktív hozzáférési jogkivonatot, és megakadályozza az identitáshoz tartozó hozzáférési jogkivonatok további kiállítását. Ezzel eltávolítja az identitáshoz társított összes tartós tartalmat is.

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

Végezze el ezt a pótlást a kódban:

  • Cserélje le <yourConnectionString> a kapcsolati sztring.
  • Cserélje le <userId> a userId azonosítót.

Előfeltételek

A végső kód

Keresse meg a gitHubon a rövid útmutató véglegesített kódját.

Saját környezet beállítása

Új C#-alkalmazás létrehozása

A parancssori ablakban (például parancsmag, PowerShell vagy Bash) futtassa a dotnet new parancsot egy új, a névvel AccessTokensQuickstartellátott konzolalkalmazás létrehozásához. Ez a parancs létrehoz egy egyszerű ""Helló világ!" alkalmazás" C#-projektet egyetlen forrásfájllal, Program.cs.

dotnet new console -o AccessTokensQuickstart

Módosítsa a könyvtárat az újonnan létrehozott alkalmazásmappára, és használja a dotnet build parancsot az alkalmazás fordításához.

cd AccessTokensQuickstart
dotnet build

Egy egyszerű ""Helló világ!" alkalmazás" kimenetnek kell megjelennie. Ha igen, a beállítás megfelelően működik, és megkezdheti az Azure Communication Services-specifikus kód írását.

Telepítse a(z) csomagot

Amíg még az alkalmazáskönyvtárban van, telepítse a .NET-csomaghoz készült Azure Communication Services Identity-kódtárat a dotnet add package parancs használatával.

dotnet add package Azure.Communication.Identity

Az alkalmazás-keretrendszer beállítása

A projektkönyvtárban tegye a következőket:

  1. Nyissa meg a Program.cs fájlt egy szövegszerkesztőben.
  2. Adjon hozzá egy using irányelvet a Azure.Communication.Identity névtér hozzáadásához.
  3. Frissítse a metódusdeklarációt az Main aszinkron kód támogatásához.

Először futtassa a következő kódot:

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

Az ügyfél hitelesítése

Inicializálás CommunicationIdentityClient a kapcsolati sztring. Az alábbi kód, amelyet hozzáad a Main metódushoz, lekéri az erőforrás kapcsolati sztring egy nevesített COMMUNICATION_SERVICES_CONNECTION_STRINGkörnyezeti változóból.

További információkért tekintse meg a Communication Services-erőforrások létrehozása és kezelése című szakasz "Az kapcsolati sztring tárolása" című szakaszát.

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

Másik lehetőségként a végpontot és a hozzáférési kulcsot az alábbi kód futtatásával választhatja el:

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

Ha már beállított egy Microsoft Entra-alkalmazást, a Microsoft Entra-azonosítóval hitelesítheti magát.

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

Identitás létrehozása

Hozzáférési jogkivonatok létrehozásához identitásra van szükség. Az Azure Communication Services ehhez egy egyszerűsített identitáskönyvtárat tart fenn. Ezzel a createUser módszerrel hozzon létre egy új bejegyzést a könyvtárban egy egyedi Idértékkel. Az identitásra később szükség lesz a hozzáférési jogkivonatok kiállításához.

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

Tárolja a kapott identitást az alkalmazás felhasználóihoz való leképezéssel (például az alkalmazáskiszolgáló adatbázisában való tárolással).

Hozzáférési jogkivonat kiállítása

Miután rendelkezik Communication Services-identitással, használja a GetToken metódust egy hozzáférési jogkivonat kiadásához. A scopes paraméter hozzáférési jogkivonat-engedélyek és szerepkörök készletét határozza meg. További információkért tekintse meg az identitásmodellben támogatott műveletek listáját. Létrehozhat egy új példányt communicationUser is egy Azure Communication Service-identitás sztring-ábrázolása alapján.

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

A hozzáférési jogkivonatok rövid élettartamú hitelesítő adatok, amelyeket újra ki kell adni. Ha ezt nem teszi meg, az az alkalmazás felhasználói élményének megszakadását okozhatja. A expiresOn tulajdonság a hozzáférési jogkivonat élettartamát jelzi.

Egyéni jogkivonat lejárati idejének beállítása

Az alapértelmezett jogkivonat lejárati ideje 24 óra, de konfigurálható úgy, hogy egy óra és 24 óra közötti értéket ad meg az opcionális paraméternek tokenExpiresIn. Új jogkivonat kérésekor ajánlott megadni a kommunikációs munkamenet várható tipikus hosszát a jogkivonat lejárati idejéhez.

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

Identitás létrehozása és jogkivonat kiállítása ugyanabban a kérelemben

Ezzel a CreateUserAndTokenAsync módszerrel létrehozhat egy Communication Services-identitást, és egyszerre adhat ki hozzáférési jogkivonatot. A scopes paraméter hozzáférési jogkivonat-engedélyek és szerepkörök készletét határozza meg. További információkért tekintse meg a támogatott műveletek listáját az Azure Communication Services hitelesítésében.

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

Hozzáférési jogkivonat frissítése

Hozzáférési jogkivonat frissítéséhez adja át az objektum egy példányát.CommunicationUserIdentifierGetTokenAsync Ha ezt Id tárolta, és létre kell hoznia egy újat CommunicationUserIdentifier, ezt úgy teheti meg, hogy átadja a tárolt adatokat Id a konstruktornak az CommunicationUserIdentifier alábbiak szerint:

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

Hozzáférési jogkivonatok visszavonása

Előfordulhat, hogy időnként explicit módon vissza kell vonnia egy hozzáférési jogkivonatot. Ezt például akkor teheti meg, ha az alkalmazás felhasználói megváltoztatják a szolgáltatásban való hitelesítéshez használt jelszót. A RevokeTokensAsync metódus érvényteleníti az identitás számára kibocsátott összes aktív hozzáférési jogkivonatot.

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

Identitás törlése

Identitás törlésekor visszavonja az összes aktív hozzáférési jogkivonatot, és megakadályozza az identitáshoz tartozó hozzáférési jogkivonatok további kiállítását. Ezzel eltávolítja az identitáshoz társított összes tartós tartalmat is.

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

A kód futtatása

Ha befejezte a hozzáférési jogkivonat létrehozását, a parancs használatával futtathatja az alkalmazást az dotnet run alkalmazáskönyvtárból.

dotnet run

Az alkalmazás kimenete az összes befejezett műveletet ismerteti:

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

Előfeltételek

A végső kód

Keresse meg a gitHubon a rövid útmutató véglegesített kódját.

Saját környezet beállítása

Új Node.js-alkalmazás létrehozása

Egy terminál vagy parancssori ablakban hozzon létre egy új könyvtárat az alkalmazáshoz, majd nyissa meg.

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

Futtassa npm init -y az alapértelmezett beállításokkal rendelkező package.json fájl létrehozásához.

npm init -y

Telepítse a(z) csomagot

npm install A parancs használatával telepítse az Azure Communication Services Identity SDK for JavaScriptet.

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

A --save beállítás függőségként sorolja fel a tárat a package.json fájlban.

Az alkalmazás-keretrendszer beállítása

  1. Hozzon létre egy fájlt issue-access-token.js a projektkönyvtárban, és adja hozzá a következő kódot:

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

Az ügyfél hitelesítése

Példányosítás CommunicationIdentityClient a kapcsolati sztring. Az alábbi kód, amelyet hozzáad a Main metódushoz, lekéri az erőforrás kapcsolati sztring egy nevesített COMMUNICATION_SERVICES_CONNECTION_STRINGkörnyezeti változóból.

További információkért tekintse meg a Communication Services-erőforrások létrehozása és kezelése című szakasz "Az kapcsolati sztring tárolása" című szakaszát.

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

Másik lehetőségként a végpontot és a hozzáférési kulcsot az alábbi kód futtatásával választhatja el:

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

Ha már beállított egy Microsoft Entra-alkalmazást, a Microsoft Entra-azonosítóval hitelesítheti magát.

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

Identitás létrehozása

Hozzáférési jogkivonatok létrehozásához identitásra van szükség. Az Azure Communication Services ehhez egy egyszerűsített identitáskönyvtárat tart fenn. Ezzel a createUser módszerrel hozzon létre egy új bejegyzést a könyvtárban egy egyedi Idértékkel. Az identitásra később szükség lesz a hozzáférési jogkivonatok kiállításához.

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

Tárolja a kapott identitást az alkalmazás felhasználóihoz való leképezéssel (például az alkalmazáskiszolgáló adatbázisában való tárolással).

Hozzáférési jogkivonat kiállítása

Ezzel a getToken módszerrel hozzáférési jogkivonatot adhat ki a Communication Services-identitáshoz. A scopes paraméter hozzáférési jogkivonat-engedélyek és szerepkörök készletét határozza meg. További információkért tekintse meg az identitásmodellben támogatott műveletek listáját. Létrehozhat egy új példányt is az communicationUser Azure Communication Service-identitás sztring-ábrázolása alapján.

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

A hozzáférési jogkivonatok rövid élettartamú hitelesítő adatok, amelyeket újra ki kell adni. Ha ezt nem teszi meg, az az alkalmazás felhasználói élményének megszakadását okozhatja. A expiresOn tulajdonság a hozzáférési jogkivonat élettartamát jelzi.

Egyéni jogkivonat lejárati idejének beállítása

Az alapértelmezett jogkivonat lejárati ideje 24 óra (1440 perc), de konfigurálható úgy, hogy 60 perc és 1440 perc közötti értéket ad meg az opcionális paraméternek tokenExpiresInMinutes. Új jogkivonat kérésekor ajánlott megadni a kommunikációs munkamenet várható tipikus hosszát a jogkivonat lejárati idejéhez.

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

Identitás létrehozása és jogkivonat kiállítása egy metódushívásban

Ezzel a createUserAndToken módszerrel létrehozhat egy Communication Services-identitást, és egyszerre adhat ki hozzáférési jogkivonatot. A scopes paraméter hozzáférési jogkivonat-engedélyek és szerepkörök készletét határozza meg. Ismét a hatókörrel voip hozza létre.

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

Hozzáférési jogkivonat frissítése

A jogkivonatok lejáratakor rendszeresen frissítenie kell őket. A frissítés egyszerű, egyszerűen hívjon getToken újra ugyanazzal az identitással, amelyet a jogkivonatok kiállításához használtak. Meg kell adnia a scopes frissített jogkivonatokat is.

// 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"]);

Hozzáférési jogkivonatok visszavonása

Előfordulhat, hogy időnként vissza kell vonnia egy hozzáférési jogkivonatot. Ezt például akkor teheti meg, ha az alkalmazás felhasználói megváltoztatják a szolgáltatásban való hitelesítéshez használt jelszót. A revokeTokens metódus érvényteleníti az identitás számára kibocsátott összes aktív hozzáférési jogkivonatot.

await identityClient.revokeTokens(identityResponse);

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

Identitás törlése

Identitás törlésekor visszavonja az összes aktív hozzáférési jogkivonatot, és megakadályozza az identitáshoz tartozó hozzáférési jogkivonatok további kiállítását. Ezzel eltávolítja az identitáshoz társított összes tartós tartalmat is.

await identityClient.deleteUser(identityResponse);

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

A kód futtatása

A konzol parancssorából lépjen a issue-access-token.js fájlt tartalmazó könyvtárra, majd futtassa a következő node parancsot az alkalmazás futtatásához:

node ./issue-access-token.js

Az alkalmazás kimenete az összes befejezett műveletet ismerteti:

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

Előfeltételek

A végső kód

Keresse meg a gitHubon a rövid útmutató véglegesített kódját.

Saját környezet beállítása

Új Python-alkalmazás létrehozása

  1. Egy terminál vagy parancssori ablakban hozzon létre egy új könyvtárat az alkalmazáshoz, majd nyissa meg.

    mkdir access-tokens-quickstart && cd access-tokens-quickstart
    
  2. Egy szövegszerkesztővel hozzon létre egy issue-access-tokens.py nevű fájlt a projekt gyökérkönyvtárában, és adja hozzá a program struktúráját, beleértve az alapvető kivételkezelést is. A rövid útmutató összes forráskódját hozzáadja ehhez a fájlhoz az alábbi szakaszokban.

    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)
    

Telepítse a(z) csomagot

Amíg még az alkalmazáskönyvtárban van, telepítse az Azure Communication Services Identity SDK for Python-csomagot a pip install parancs használatával.

pip install azure-communication-identity

Az ügyfél hitelesítése

Példányosítás a CommunicationIdentityClient kapcsolati sztring. Az alábbi kód, amelyet hozzáad a try blokkhoz, lekéri az erőforrás kapcsolati sztring egy nevesített COMMUNICATION_SERVICES_CONNECTION_STRINGkörnyezeti változóból.

További információkért tekintse meg a Communication Services-erőforrások létrehozása és kezelése című szakasz "Az kapcsolati sztring tárolása" című szakaszát.

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

Másik lehetőségként, ha már beállított egy Microsoft Entra-alkalmazást, a Microsoft Entra-azonosítóval hitelesíthet.

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

Identitás létrehozása

Hozzáférési jogkivonatok létrehozásához identitásra van szükség. Az Azure Communication Services ehhez egy egyszerűsített identitáskönyvtárat tart fenn. Ezzel a create_user módszerrel hozzon létre egy új bejegyzést a könyvtárban egy egyedi Idértékkel. Az identitásra később szükség lesz a hozzáférési jogkivonatok kiállításához.

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

Tárolja a kapott identitást az alkalmazás felhasználóihoz való leképezéssel (például az alkalmazáskiszolgáló adatbázisában való tárolással).

Hozzáférési jogkivonat kiállítása

Ezzel a get_token módszerrel hozzáférési jogkivonatot adhat ki a Communication Services-identitáshoz. A scopes paraméter hozzáférési jogkivonat-engedélyek és szerepkörök készletét határozza meg. További információkért tekintse meg az identitásmodellben támogatott műveletek listáját. Létrehozhat egy új paraméterpéldányt CommunicationUserIdentifier is az Azure Communication Service-identitás sztring-ábrázolása alapján.

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

A hozzáférési jogkivonatok rövid élettartamú hitelesítő adatok, amelyeket újra ki kell adni. Ha ezt nem teszi meg, az az alkalmazás felhasználói élményének megszakadását okozhatja. A expires_on válasz tulajdonság a hozzáférési jogkivonat élettartamát jelzi.

Egyéni jogkivonat lejárati idejének beállítása

Az alapértelmezett jogkivonat lejárati ideje 24 óra, de konfigurálható úgy, hogy egy óra és 24 óra közötti értéket ad meg az opcionális paraméternek token_expires_in. Új jogkivonat kérésekor ajánlott megadni a kommunikációs munkamenet várható tipikus hosszát a jogkivonat lejárati idejéhez.

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

Identitás létrehozása és hozzáférési jogkivonat kiállítása ugyanabban a kérelemben

Ezzel a create_user_and_token módszerrel létrehozhat egy Communication Services-identitást, és egyszerre adhat ki hozzáférési jogkivonatot. A scopes paraméter hozzáférési jogkivonat-engedélyek és szerepkörök készletét határozza meg. További információkért tekintse meg a támogatott műveletek listáját az Azure Communication Services hitelesítésében.

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

Hozzáférési jogkivonat frissítése

Hozzáférési jogkivonat frissítéséhez használja az CommunicationUserIdentifier objektumot egy jogkivonat újbóli kiadására a meglévő identitás átadásával:

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

Hozzáférési jogkivonatok visszavonása

Előfordulhat, hogy időnként explicit módon vissza kell vonnia egy hozzáférési jogkivonatot. Ezt például akkor teheti meg, ha az alkalmazás felhasználói megváltoztatják a szolgáltatásban való hitelesítéshez használt jelszót. A revoke_tokens metódus érvényteleníti az identitás számára kibocsátott összes aktív hozzáférési jogkivonatot.

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

Identitás törlése

Identitás törlésekor visszavonja az összes aktív hozzáférési jogkivonatot, és megakadályozza az identitáshoz tartozó hozzáférési jogkivonatok további kiállítását. Ezzel eltávolítja az identitáshoz társított összes tartós tartalmat is.

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

A kód futtatása

A konzol parancssorából lépjen a issue-access-tokens.py fájlt tartalmazó könyvtárra, majd futtassa a következő python parancsot az alkalmazás futtatásához.

python ./issue-access-tokens.py

Az alkalmazás kimenete az összes befejezett műveletet ismerteti:

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

Előfeltételek

A végső kód

Keresse meg a gitHubon a rövid útmutató véglegesített kódját.

Saját környezet beállítása

Új Java-alkalmazás létrehozása

Egy terminál vagy parancssor ablakában lépjen arra a könyvtárra, ahol létre szeretné hozni a Java-alkalmazást. Ha Java-projektet szeretne létrehozni a maven-archetype-quickstart sablonból, futtassa a következő kódot:

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

Megfigyelheti, hogy a generate feladat létrehoz egy, a nevével megegyező nevű artifactIdkönyvtárat. Ebben a könyvtárban az src/main/java könyvtár tartalmazza a projekt forráskódját, az src/test/java könyvtár a tesztforrást, a pom.xml fájl pedig a projekt projektobjektum-modelljét vagy POM-ját. Ez a fájl a projektkonfigurációs paraméterekhez használatos.

A Communication Services-csomagok telepítése

Nyissa meg a pom.xml fájlt a szövegszerkesztőben. Adja hozzá a következő függőségi elemet a függőségek csoportjához:

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

Ez a kód arra utasítja a Mavent, hogy telepítse a Communication Services Identity SDK-t, amelyet később fog használni.

Az alkalmazás-keretrendszer beállítása

A projektkönyvtárban tegye a következőket:

  1. Nyissa meg a /src/main/java/com/communication/quickstart könyvtárat.
  2. Nyissa meg a App.java fájlt a szerkesztőben.
  3. Cserélje le az utasítást System.out.println("Hello world!"); .
  4. Irányelvek hozzáadása import .

A kezdéshez használja a következő kódot:

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

Az ügyfél hitelesítése

Példányosítás az CommunicationIdentityClient erőforrás hozzáférési kulcsával és végpontjával. További információkért tekintse meg a Communication Services-erőforrások létrehozása és kezelése című szakasz "Az kapcsolati sztring tárolása" című szakaszát.

Emellett inicializálhatja az ügyfelet bármely egyéni HTTP-ügyféllel, amely megvalósítja a com.azure.core.http.HttpClient felületet.

A App.java fájlban adja hozzá a következő kódot a main metódushoz:

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

A végpont és a hozzáférési kulcs megadása helyett a teljes kapcsolati sztring megadhatja a connectionString() metódus használatával.

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

Ha már beállított egy Microsoft Entra-alkalmazást, a Microsoft Entra-azonosítóval hitelesítheti magát.

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

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

Identitás létrehozása

Hozzáférési jogkivonatok létrehozásához identitásra van szükség. Az Azure Communication Services ehhez egy egyszerűsített identitáskönyvtárat tart fenn. Ezzel a createUser módszerrel hozzon létre egy új bejegyzést a könyvtárban egy egyedi Idértékkel.

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

A létrehozott identitásra később szükség lesz a hozzáférési jogkivonatok kiállításához. Tárolja a kapott identitást az alkalmazás felhasználóihoz való leképezéssel (például az alkalmazáskiszolgáló adatbázisában való tárolással).

Hozzáférési jogkivonat kiállítása

Ezzel a getToken módszerrel hozzáférési jogkivonatot adhat ki a Communication Services-identitáshoz. A scopes paraméter hozzáférési jogkivonat-engedélyek és szerepkörök készletét határozza meg. További információkért tekintse meg az identitásmodellben támogatott műveletek listáját.

Az alábbi kódban használja az előző lépésben létrehozott felhasználói változót egy jogkivonat lekéréséhez.

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

A hozzáférési jogkivonatok rövid élettartamú hitelesítő adatok, amelyeket újra ki kell adni. Ha ezt nem teszi meg, az az alkalmazás felhasználói élményének megszakadását okozhatja. A expiresAt tulajdonság a hozzáférési jogkivonat élettartamát jelzi.

Egyéni jogkivonat lejárati idejének beállítása

Az alapértelmezett jogkivonat lejárati ideje 24 óra, de konfigurálható úgy, hogy egy óra és 24 óra közötti értéket ad meg az opcionális paraméternek tokenExpiresIn. Új jogkivonat kérésekor ajánlott megadni a kommunikációs munkamenet várható tipikus hosszát a jogkivonat lejárati idejéhez.

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

Identitás létrehozása és jogkivonat kiállítása egyetlen kérelemben

Másik lehetőségként a createUserAndToken metódussal létrehozhat egy új bejegyzést a címtárban egyedi Id azonosítóval, és egyszerre adhat ki hozzáférési jogkivonatot.

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

Hozzáférési jogkivonat frissítése

Hozzáférési jogkivonat frissítéséhez használja az CommunicationUserIdentifier objektumot az újbóli kiadáshoz:

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

Hozzáférési jogkivonat visszavonása

Előfordulhat, hogy időnként explicit módon vissza kell vonnia egy hozzáférési jogkivonatot. Ezt például akkor teheti meg, ha az alkalmazás felhasználói megváltoztatják a szolgáltatásban való hitelesítéshez használt jelszót. A revokeTokens metódus érvényteleníti egy adott felhasználó összes aktív hozzáférési jogkivonatát. Az alábbi kódban használhatja a korábban létrehozott felhasználót.

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

Identitás törlése

Identitás törlésekor visszavonja az összes aktív hozzáférési jogkivonatot, és megakadályozza az identitáshoz tartozó hozzáférési jogkivonatok további kiállítását. Ezzel eltávolítja az identitáshoz társított összes tartós tartalmat is.

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

A kód futtatása

Nyissa meg a pom.xml fájlt tartalmazó könyvtárat, majd fordítsa le a projektet a következő mvn paranccsal:

mvn compile

Ezután hozza létre a csomagot:

mvn package

Futtassa a következő mvn parancsot az alkalmazás végrehajtásához:

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

Az alkalmazás kimenete az összes befejezett műveletet ismerteti:

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

Előfeltételek

A hozzáférési jogkivonatok létrehozása

Az Azure Portalon lépjen az Identityes &a User Access Tokens panelre a Communication Services-erőforrásban.

Válassza ki a hozzáférési jogkivonatok hatókörét. A nincs, egy vagy több lehetőséget is választhatja. Kattintson a Létrehozás lehetőségre.

Válassza ki az identitás- és hozzáférési jogkivonatok hatóköreit.

Megjelenik egy identitás és a megfelelő felhasználói hozzáférési jogkivonat. Ezeket a sztringeket másolhatja, és használhatja őket a mintaalkalmazásokban és más tesztelési forgatókönyvekben.

A rendszer létrehozza az identitás- és hozzáférési jogkivonatokat, és megjeleníti a lejárati dátumot.

Előfeltételek

Felhasználó létrehozása

Adjon hozzá egy új lépést a munkafolyamathoz az Azure Communication Services Identity-összekötő használatával. Kövesse ezeket a lépéseket a Power Automate-ben szerkesztési módban megnyitott Power Automate-folyamattal.

  1. A tervezőn a lépés alatt, ahol hozzá szeretné adni az új műveletet, válassza az Új lépés lehetőséget. Másik lehetőségként az új művelet lépések közötti hozzáadásához vigye az egérmutatót a lépések közötti nyíl fölé, jelölje ki a pluszjelet (+), és válassza a Művelet hozzáadása lehetőséget.

  2. A Művelet kiválasztása keresőmezőbe írja be a Communication Services-identitást. A műveletek listájában válassza a Felhasználó létrehozása lehetőséget.

    Képernyőkép az Azure Communication Services Identity-összekötő Létrehozás felhasználói műveletről.

  3. Adja meg a Csatlakozás ion sztringet. Ez megtalálható a Microsoft Azure-ban, az Azure Communication Service-erőforrásban, a Kulcsok lehetőségnél a bal oldali menüben > Csatlakozás ion String

    Képernyőkép az Azure Communication Services-erőforrás Kulcsok lapjáról.

  4. Adja meg a Csatlakozás ion nevét

  5. Kattintson a Létrehozás gombra

    Ez a művelet egy felhasználói azonosítót ad ki, amely a Communication Services felhasználói identitása. Ezenkívül ha a "Speciális beállítások megjelenítése" gombra kattint, és kiválasztja a jogkivonat hatókörét, a művelet egy hozzáférési jogkivonatot és annak lejárati idejét is megjeleníti a megadott hatókörrel.

    Képernyőkép az Azure Communication Services-összekötő Létrehozás felhasználói műveletről.

    Képernyőkép az Azure Communication Services-összekötőRől: Felhasználói művelet speciális beállításainak létrehozása.

Felhasználói hozzáférési jogkivonat kiállítása

Miután rendelkezik Communication Services-identitással, a Felhasználói hozzáférési jogkivonat kiállítása művelet használatával kibocsáthat egy hozzáférési jogkivonatot. Az alábbi lépések bemutatják, hogyan:

  1. Adjon hozzá egy új műveletet, és írja be a Communication Services-identitást a keresőmezőbe. A műveletek listájában válassza a Felhasználói hozzáférési jogkivonat kiállítása lehetőséget.

    Képernyőkép az Azure Communication Services Identity-összekötő hozzáférési jogkivonattal kapcsolatos műveletről.

  2. Ezután használhatja az előző Felhasználói létrehozás lépés felhasználói azonosító kimenetét.

  3. Adja meg a jogkivonat hatókörét: VoIP vagy csevegés. További információ a jogkivonatokról és a hitelesítésről.

    Képernyőkép az Azure Communication Services Identity-összekötő hozzáférési jogkivonat-műveletről, a jogkivonat hatókörének megadásával.

Ez egy hozzáférési jogkivonatot és annak lejárati idejét adja ki a megadott hatókörrel.

Felhasználói hozzáférési jogkivonatok visszavonása

Miután rendelkezik Communication Services-identitással, a hozzáférési jogkivonat visszavonásához használhatja a Probléma egy felhasználói hozzáférési jogkivonatot műveletet. Az alábbi lépések bemutatják, hogyan:

  1. Adjon hozzá egy új műveletet, és írja be a Communication Services-identitást a keresőmezőbe. A műveletek listájában válassza a Felhasználói hozzáférési jogkivonatok visszavonása lehetőséget.

    Képernyőkép az Azure Communication Services Identity-összekötő Hozzáférési jogkivonat visszavonása műveletről.

  2. Adja meg a felhasználói azonosítót

    Képernyőkép az Azure Communication Services Identity-összekötő visszavont hozzáférési jogkivonat-művelet bemenetét bemutató képernyőképről.

Ez visszavonja a megadott felhasználó összes felhasználói hozzáférési jogkivonatát, és nincs kimenet a művelethez.

Felhasználó törlése

Miután rendelkezik Communication Services-identitással, a Felhasználói hozzáférési jogkivonat kiállítása művelet használatával törölheti a hozzáférési jogkivonatot. Az alábbi lépések bemutatják, hogyan:

  1. Adjon hozzá egy új műveletet, és írja be a Communication Services-identitást a keresőmezőbe. A műveletek listájában válassza a Felhasználó törlése lehetőséget.

    Képernyőkép az Azure Communication Services Identity-összekötő Törlés felhasználói műveletről.

  2. Adja meg a felhasználói azonosítót

    Képernyőkép az Azure Communication Services Identity-összekötő Törlés felhasználói művelet bemenetről.

    Ezzel eltávolítja a felhasználót, és visszavonja a megadott felhasználó összes felhasználói hozzáférési jogkivonatát. Ehhez a művelethez nincsenek kimenetek.

A logikai alkalmazás tesztelése

A munkafolyamat manuális elindításához a tervező eszköztárán válassza a Futtatás lehetőséget. A munkafolyamatnak létre kell hoznia egy felhasználót, ki kell adnia egy hozzáférési jogkivonatot a felhasználónak, majd el kell távolítania, és törölnie kell a felhasználót. További információkért tekintse át a munkafolyamat futtatásának módját. A munkafolyamat sikeres futtatása után ellenőrizheti ezeknek a műveleteknek a kimenetét.

Identitás használata monitorozáshoz és metrikákhoz

A felhasználói azonosító elsődleges kulcsként szolgál az Azure Monitoron keresztül gyűjtött naplókhoz és metrikákhoz. Ha például egy felhasználó összes hívását meg szeretné tekinteni, beállíthatja a hitelesítést úgy, hogy egy adott Azure Communication Services-identitást (vagy identitást) egyetlen felhasználóhoz rendeljen.

További információ a hitelesítési fogalmakról, a diagnosztikáról a log analyticsen keresztül, valamint az Ön számára elérhető metrikákról.

Az erőforrások eltávolítása

Egy Communication Services-előfizetés törléséhez és eltávolításához törölje az erőforrást vagy az erőforráscsoportot. Az erőforráscsoport törlése a hozzá társított egyéb erőforrásokat is törli. További információkért lásd a Communication Services-erőforrások létrehozása és kezelése című szakasz "Erőforrások törlése" című szakaszát.

A logikai alkalmazás munkafolyamatának és a kapcsolódó erőforrások törléséhez tekintse át az Azure Logic Apps-erőforrások törlésének módját.

Következő lépések

Ennek a rövid útmutatónak a segítségével megtanulta a következőket:

  • Hozzáférési jogkivonatok kiállítása
  • Identitások kezelése

A következőket is érdemes lehet elvégeznie:

Következő lépések

Ebben a rövid útmutatóban megtanulta, hogyan hozhat létre egy felhasználót, törölheti a felhasználót, hogyan adhat ki hozzáférési jogkivonatot a felhasználónak, és hogyan távolíthatja el a felhasználói hozzáférési jogkivonatot az Azure Communication Services Identity-összekötő használatával. További információért tekintse meg az Azure Communication Services Identity Csatlakozás or dokumentációját.

Ha szeretné megtudni, hogy más összekötők hogyan használják a jogkivonatokat, tekintse meg , hogyan küldhet csevegőüzenetet a Power Automate-ből az Azure Communication Services használatával.

Ha többet szeretne megtudni arról, hogyan küldhet e-mailt az Azure Communication Services e-mail-összekötőjével, jelölje be az e-mail küldése a Power Automate-ben az Azure Communication Services szolgáltatással.