Erişim belirteçleri, Azure İletişim Hizmetleri SDK'ların belirli bir kimlik olarak doğrudan Azure İletişim Hizmetleri kimlik doğrulaması yapmasını sağlar. Kullanıcılarınızın uygulamanızdaki bir çağrıya veya sohbet yazışmasına katılmasını istiyorsanız erişim belirteçleri oluşturmanız gerekir.
Bu makalede kimlik oluşturmak ve erişim belirteçlerinizi yönetmek için Azure İletişim Hizmetleri SDK'larının nasıl kullanılacağı açıklanmaktadır. Üretim kullanım örnekleri için, İstemci ve sunucu mimarisinde açıklandığı gibi sunucu tarafı hizmette erişim belirteçleri oluşturmanızı öneririz.
komutunu kullanarak Azure CLI için Azure İletişim Hizmetleri uzantısını az extension ekleyin.
Azure CLI
az extension add --name communication
Azure CLI'da oturum açma
Azure CLI'da oturum açmanız gerekir. Terminalden komutu çalıştırarak az login oturum açabilir ve ardından kimlik bilgilerinizi sağlayabilirsiniz.
(İsteğe bağlı) Bağlantı dizesi geçirmeden Azure CLI kimlik işlemlerini kullanma
ortam değişkeniniAZURE_COMMUNICATION_CONNECTION_STRING, bağlantı dizesi geçirmek için kullanmak zorunda kalmadan Azure CLI kimlik işlemlerini kullanacak --connection_string şekilde yapılandırabilirsiniz. Ortam değişkenini yapılandırmak için bir konsol penceresi açın ve aşağıdaki sekmelerden işletim sisteminizi seçin. değerini gerçek bağlantı dizesi ile değiştirin<yourConnectionString>.
Ortam değişkenini ekledikten sonra, konsol penceresi de dahil olmak üzere ortam değişkenini okuması gereken tüm çalışan programları yeniden başlatmanız gerekebilir. Örneğin, düzenleyici olarak Visual Studio kullanıyorsanız, örneği çalıştırmadan önce Visual Studio'yu yeniden başlatın.
öğesini .zshrcdüzenleyin ve ortam değişkenini ekleyin:
Ortam değişkenini ekledikten sonra değişiklikleri uygulamak için konsol pencerenizden source ~/.zshrc çalıştırın. Ortam değişkenini IDE'niz açık olarak oluşturduysanız, değişkene erişmek için düzenleyiciyi, IDE'yi veya kabuğu kapatıp yeniden açmanız gerekebilir.
öğesini .bash_profiledüzenleyin ve ortam değişkenini ekleyin:
Ortam değişkenini ekledikten sonra değişiklikleri uygulamak için konsol pencerenizden source ~/.bash_profile çalıştırın. Ortam değişkenini IDE'niz açık olarak oluşturduysanız, değişkene erişmek için düzenleyiciyi, IDE'yi veya kabuğu kapatıp yeniden açmanız gerekebilir.
Erişim belirtecinizi bir ortam değişkeninde depolama
Ortam değişkenini yapılandırmak için bir konsol penceresi açın ve aşağıdaki sekmelerden işletim sisteminizi seçin. değerini gerçek erişim belirtecinizle değiştirin <yourAccessToken> .
Ortam değişkenini ekledikten sonra, konsol penceresi de dahil olmak üzere ortam değişkenini okuması gereken tüm çalışan programları yeniden başlatmanız gerekebilir. Örneğin, düzenleyici olarak Visual Studio kullanıyorsanız, örneği çalıştırmadan önce Visual Studio'yu yeniden başlatın.
öğesini .zshrcdüzenleyin ve ortam değişkenini ekleyin:
Ortam değişkenini ekledikten sonra değişiklikleri uygulamak için konsol pencerenizden source ~/.zshrc çalıştırın. Ortam değişkenini IDE'niz açık olarak oluşturduysanız, değişkene erişmek için düzenleyiciyi, IDE'yi veya kabuğu kapatıp yeniden açmanız gerekebilir.
öğesini .bash_profiledüzenleyin ve ortam değişkenini ekleyin:
Ortam değişkenini ekledikten sonra değişiklikleri uygulamak için konsol pencerenizden source ~/.bash_profile çalıştırın. Ortam değişkenini IDE'niz açık olarak oluşturduysanız, değişkene erişmek için düzenleyiciyi, IDE'yi veya kabuğu kapatıp yeniden açmanız gerekebilir.
Operations
Kimlik oluşturma
Erişim belirteçleri oluşturmak için bir kimliğe ihtiyacınız vardır. Azure İletişim Hizmetleri bu amaçla basit bir kimlik dizini tutar. dizininde user create benzersiz Idbir ile yeni bir giriş oluşturmak için komutunu kullanın. Kimlik daha sonra erişim belirteçleri verme için gereklidir.
Azure CLI
az communication identity user create --connection-string"<yourConnectionString>"
değerini bağlantı dizesi ile değiştirin<yourConnectionString>.
Kimlik oluşturma ve aynı istekte erişim belirteci verme
İletişim Hizmetleri kimliği oluşturmak ve aynı anda bu kimlik için bir erişim belirteci vermek için aşağıdaki komutu çalıştırın.
scopes parametresi bir erişim belirteci izinleri ve rolleri kümesini tanımlar. Daha fazla bilgi için Azure İletişim Hizmetleri için kimlik doğrulaması bölümünde desteklenen eylemlerin listesine bakın.
Azure CLI
az communication identity token issue --scope chat --connection-string"<yourConnectionString>"
Kodda bu değişikliği yapın:
değerini bağlantı dizesi ile değiştirin<yourConnectionString>.
Sorun erişim belirteci
İletişim Hizmetleri kimliğiniz için bir erişim belirteci vermek için aşağıdaki komutu çalıştırın.
scopes parametresi bir erişim belirteci izinleri ve rolleri kümesini tanımlar. Daha fazla bilgi için Azure İletişim Hizmetleri için kimlik doğrulaması bölümünde desteklenen eylemlerin listesine bakın.
Azure CLI
az communication identity token issue --scope chat --user"<userId>"--connection-string"<yourConnectionString>"
Kodda bu değişikliği yapın:
değerini bağlantı dizesi ile değiştirin<yourConnectionString>.
değerini userId değerinizle değiştirin <userId> .
Erişim belirteçleri, yeniden verilmesi gereken kısa süreli kimlik bilgileridir. Bunu yapmamak, uygulama kullanıcılarınızın deneyiminin kesintiye uğramasına neden olabilir.
expires_on Yanıt özelliği erişim belirtecinin ömrünü belirtir.
Birden çok kapsamla erişim belirteci verme
İletişim Hizmetleri kimliğiniz için birden çok kapsama sahip bir erişim belirteci vermek için aşağıdaki komutu çalıştırın.
scopes parametresi bir erişim belirteci izinleri ve rolleri kümesini tanımlar. Daha fazla bilgi için Kimlik modelinde desteklenen eylemlerin listesine bakın.
Azure CLI
az communication identity token issue --scope chat voip --user"<userId>"--connection-string"<yourConnectionString>"
Kodda bu değişikliği yapın:
değerini bağlantı dizesi ile değiştirin<yourConnectionString>.
değerini userId değerinizle değiştirin <userId> .
Erişim belirteçleri, yeniden verilmesi gereken kısa süreli kimlik bilgileridir. Bunu yapmamak, uygulama kullanıcılarınızın deneyiminin kesintiye uğramasına neden olabilir.
expires_on Yanıt özelliği erişim belirtecinin ömrünü belirtir.
İletişim Kimliği erişim belirteci için Teams kullanıcısının Microsoft Entra erişim belirtecini değiştirme
Teams kullanıcısına token get-for-teams-user Azure İletişim Hizmetleri SDK'larla kullanılabilecek bir erişim belirteci vermek için komutunu kullanın.
Azure CLI
az communication identity token get-for-teams-user --aad-token"<yourAadToken>"--client"<yourAadApplication>"--aad-user"<yourAadUser>"--connection-string"<yourConnectionString>"
Kodda bu değişikliği yapın:
değerini bağlantı dizesi ile değiştirin<yourConnectionString>.
değerini Microsoft Entra userId değerinizle değiştirin <yourAadUser> .
değerini Microsoft Entra uygulama kimliğiniz ile değiştirin <yourAadApplication> .
değerini Microsoft Entra erişim belirtecinizle değiştirin <yourAadToken> .
Erişim belirteçlerini iptal etme
Erişim belirtecini açıkça iptal etmeniz gerekebilir. Örneğin, uygulama kullanıcıları hizmetinizde kimlik doğrulaması yapmak için kullandıkları parolayı değiştirdiğinde bunu yaparsınız.
token revoke komutu, kimliğe verilen tüm etkin erişim belirteçlerini geçersiz kılır.
Azure CLI
az communication identity token revoke --user"<userId>"--connection-string"<yourConnectionString>"
Kodda bu değişikliği yapın:
değerini bağlantı dizesi ile değiştirin<yourConnectionString>.
değerini userId değerinizle değiştirin <userId> .
Kimlik silme
Bir kimliği sildiğinizde, tüm etkin erişim belirteçlerini iptal eder ve kimlik için erişim belirteçlerinin daha fazla verilmesini engellersiniz. Bunu yaptığınızda kimlikle ilişkili tüm kalıcı içerik de kaldırılır.
Azure CLI
az communication identity user delete --user"<userId>"--connection-string"<yourConnectionString>"
Kodda bu değişikliği yapın:
değerini bağlantı dizesi ile değiştirin<yourConnectionString>.
cmd, PowerShell veya Bash gibi bir komut istemi penceresinde komutunu çalıştırarak dotnet new adlı AccessTokensQuickstartyeni bir konsol uygulaması oluşturun. Bu komut, tek bir kaynak dosyası olan basit bir Merhaba Dünya C# projesi Program.csoluşturur.
Console
dotnet new console -o AccessTokensQuickstart
Dizininizi yeni oluşturulan uygulama klasörüne değiştirin ve uygulamanızı derlemek için komutunu kullanın dotnet build .
Console
cd AccessTokensQuickstart
dotnet build
Basit Hello World bir çıkış görüntülenir. Doğru görüntüleniyorsa kurulumunuz çalışıyor ve Azure İletişim Hizmetleri kodunuzu yazmaya başlayabilirsiniz.
paketini yükleyin
Uygulama dizinindeyken komutunu kullanarak .NET paketi için Azure İletişim Hizmetleri Kimlik kitaplığını dotnet add package yükleyin.
Console
dotnet add package Azure.Communication.Identity
Uygulama çerçevesini ayarlama
Proje dizininde aşağıdaki adımları tamamlayın:
Program.cs dosyasını bir metin düzenleyicisinde açın.
Ad alanını içerecek Azure.Communication.Identity bir using yönerge ekleyin.
Zaman uyumsuz kodu desteklemek için yöntem bildirimini güncelleştirin Main .
Başlamak için aşağıdaki kodu çalıştırın:
C#
using System;
using Azure;
using Azure.Core;
using Azure.Communication.Identity;
namespaceAccessTokensQuickstart
{
classProgram
{
staticasync System.Threading.Tasks.Task Main(string[] args)
{
Console.WriteLine("Azure Communication Services - Access Tokens Quickstart");
// Quickstart code goes here
}
}
}
İstemcinin kimliğini doğrulama
bağlantı dizesi ile başlatınCommunicationIdentityClient. yöntemine Main eklediğiniz aşağıdaki kod, adlı COMMUNICATION_SERVICES_CONNECTION_STRINGbir ortam değişkeninden kaynağın bağlantı dizesi alır.
// 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);
Alternatif olarak, aşağıdaki kodu çalıştırarak uç noktayı ve erişim anahtarını ayırabilirsiniz:
C#
// 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));
TokenCredential tokenCredential = new DefaultAzureCredential();
var client = new CommunicationIdentityClient(new Uri(endpoint), tokenCredential);
Kimlik oluşturma
Erişim belirteçleri oluşturmak için bir kimliğe ihtiyacınız vardır. Azure İletişim Hizmetleri bu amaçla basit bir kimlik dizini tutar. dizininde createUser benzersiz Idbir ile yeni bir giriş oluşturmak için yöntemini kullanın. Daha sonra erişim belirteçleri vermek için kimliği kullanın.
C#
var identityResponse = await client.CreateUserAsync();
var identity = identityResponse.Value;
Console.WriteLine($"\nCreated an identity with ID: {identity.Id}");
Alınan kimliği uygulama kullanıcılarınıza eşlemeyle (örneğin, uygulama sunucusu veritabanınızda depolayarak) depolayın.
Erişim belirteci verme
İletişim Hizmetleri kimliğiniz olduktan sonra, bu kimlik için bir erişim belirteci vermek için yöntemini kullanın GetToken .
scopes parametresi bir erişim belirteci izinleri ve rolleri kümesini tanımlar. Daha fazla bilgi için Kimlik modelinde desteklenen eylemlerin listesine bakın. Ayrıca, Azure İletişim Hizmeti kimliğinin communicationUser dize gösterimini temel alan yeni bir örneği de oluşturabilirsiniz.
C#
// Issue an access token with a validity of 24 hours and the "voip" scope for an identityvar tokenResponse = await client.GetTokenAsync(identity, scopes: new [] { CommunicationTokenScope.VoIP });
// Get the token from the responsevar 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);
Erişim belirteçleri, yeniden verilmesi gereken kısa süreli kimlik bilgileridir. Bunu yapmamak, uygulama kullanıcı deneyiminizin kesintiye uğramasına neden olabilir.
expiresOn özelliği, erişim belirtecinin ömrünü gösterir.
Özel belirteç süre sonu zamanı ayarlama
Varsayılan belirtecin süre sonu 24 saattir, ancak isteğe bağlı parametresine tokenExpiresInbir saat ile 24 saat arasında bir değer sağlayarak bunu yapılandırabilirsiniz. Yeni bir belirteç istediğinizde, belirteç süre sonu süresi için iletişim oturumunun beklenen tipik uzunluğunu belirtin.
C#
// 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);
Kimlik oluşturma ve aynı istekte belirteç verme
İletişim Hizmetleri kimliği oluşturmak ve bunun için aynı anda bir erişim belirteci vermek için yöntemini kullanabilirsiniz CreateUserAndTokenAsync .
scopes parametresi bir erişim belirteci izinleri ve rolleri kümesini tanımlar. Daha fazla bilgi için Azure İletişim Hizmetleri için kimlik doğrulaması bölümünde desteklenen eylemlerin listesine bakın.
C#
// Issue an identity and an access token with a validity of 24 hours and the "voip" scope for the new identityvar identityAndTokenResponse = await client.CreateUserAndTokenAsync(scopes: new[] { CommunicationTokenScope.VoIP });
// Retrieve the identity, token, and expiration date from the responsevar 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);
Erişim belirtecini yenileme
Erişim belirtecini yenilemek için nesnesinin bir örneğini CommunicationUserIdentifier içine geçirin GetTokenAsync. Bunu Id depoladıysanız ve yeni CommunicationUserIdentifierbir oluşturmanız gerekiyorsa, depoladığınız Id öğesini oluşturucuya CommunicationUserIdentifier şu şekilde geçirerek bunu yapabilirsiniz:
C#
var identityToRefresh = new CommunicationUserIdentifier(identity.Id);
var tokenResponse = await client.GetTokenAsync(identityToRefresh, scopes: new [] { CommunicationTokenScope.VoIP });
Erişim belirteçlerini iptal etme
Erişim belirtecini açıkça iptal etmeniz gerekebilir. Örneğin, uygulama kullanıcıları hizmetinizde kimlik doğrulaması yapmak için kullandıkları parolayı değiştirdiğinde. yöntemi, RevokeTokensAsync kimliğe verilen tüm etkin erişim belirteçlerini geçersiz kılır.
C#
await client.RevokeTokensAsync(identity);
Console.WriteLine($"\nSuccessfully revoked all access tokens for identity with ID: {identity.Id}");
Kimlik silme
Bir kimliği sildiğinizde, tüm etkin erişim belirteçlerini iptal eder ve kimlik için daha fazla erişim belirteci sorununu önlersiniz. Bunu yaptığınızda kimlikle ilişkili tüm kalıcı içerik de kaldırılır.
C#
await client.DeleteUserAsync(identity);
Console.WriteLine($"\nDeleted the identity with ID: {identity.Id}");
Kodu çalıştırma
Erişim belirtecini oluşturmayı bitirdiğinizde, komutunu kullanarak dotnet run uygulamayı uygulama dizininizden çalıştırabilirsiniz.
Console
dotnet run
Uygulamanın çıkışı, tamamlanan her eylemi açıklar:
Console
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
seçeneği, --save kitaplığı dosyanızda package.json bağımlılık olarak listeler.
Uygulama çerçevesini ayarlama
Proje dizininde adlı issue-access-token.js bir dosya oluşturun ve aşağıdaki kodu ekleyin:
JavaScript
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);
})
İstemcinin kimliğini doğrulama
CommunicationIdentityClient bağlantı dizesi örneğinizi oluşturma. yöntemine Main eklediğiniz aşağıdaki kod, adlı COMMUNICATION_SERVICES_CONNECTION_STRINGbir ortam değişkeninden kaynağın bağlantı dizesi alır.
// This code demonstrates how to fetch your connection string// from an environment variable.const connectionString = process.env['COMMUNICATION_SERVICES_CONNECTION_STRING'];
// Instantiate the identity clientconst identityClient = new CommunicationIdentityClient(connectionString);
Alternatif olarak, aşağıdaki kodu çalıştırarak uç noktayı ve erişim anahtarını ayırabilirsiniz:
JavaScript
// 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 credentialconst tokenCredential = new AzureKeyCredential(accessKey);
// Instantiate the identity clientconst identityClient = new CommunicationIdentityClient(endpoint, tokenCredential)
const endpoint = process.env["COMMUNICATION_SERVICES_ENDPOINT"];
const tokenCredential = new DefaultAzureCredential();
const identityClient = new CommunicationIdentityClient(endpoint, tokenCredential);
Kimlik oluşturma
Erişim belirteçleri oluşturmak için bir kimliğe ihtiyacınız vardır. Azure İletişim Hizmetleri bu amaçla basit bir kimlik dizini tutar. dizininde createUser benzersiz Idbir ile yeni bir giriş oluşturmak için yöntemini kullanın. Erişim belirteçleri vermek için daha sonra kimliğe ihtiyacınız vardır.
JavaScript
let identityResponse = await identityClient.createUser();
console.log(`\nCreated an identity with ID: ${identityResponse.communicationUserId}`);
Alınan kimliği uygulamanızın kullanıcılarına eşleme ile depolayın (örneğin, uygulama sunucusu veritabanınızda depolayarak).
Erişim belirteci verme
getToken İletişim Hizmetleri kimliğiniz için bir erişim belirteci vermek için yöntemini kullanın.
scopes parametresi bir erişim belirteci izinleri ve rolleri kümesini tanımlar. Daha fazla bilgi için Kimlik modelinde desteklenen eylemlerin listesine bakın. Azure İletişim Hizmeti kimliğinin communicationUser dize gösterimini temel alan yeni bir örneğini de oluşturabilirsiniz.
JavaScript
// Issue an access token with a validity of 24 hours and the "voip" scope for an identitylet tokenResponse = await identityClient.getToken(identityResponse, ["voip"]);
// Get the token and its expiration date from the responseconst { token, expiresOn } = tokenResponse;
console.log(`\nIssued an access token with 'voip' scope that expires at ${expiresOn}:`);
console.log(token);
Erişim belirteçleri, yeniden verilmesi gereken kısa süreli kimlik bilgileridir. Bunu yapmamak, uygulama kullanıcı deneyiminizin kesintiye uğramasına neden olabilir.
expiresOn özelliği, erişim belirtecinin ömrünü gösterir.
Özel belirteç süre sonu zamanı ayarlama
Varsayılan belirteç süre sonu 24 saattir (1440 dakika), ancak isteğe bağlı parametresine tokenExpiresInMinutes60 dakika ile 1440 dakika arasında bir değer sağlayarak bunu yapılandırabilirsiniz. Yeni bir belirteç istediğinizde, belirteç süre sonu süresi için iletişim oturumunun beklenen tipik uzunluğunu belirtin.
JavaScript
// Issue an access token with a validity of an hour and the "voip" scope for an identityconst tokenOptions: GetTokenOptions = { tokenExpiresInMinutes: 60 };
let tokenResponse = await identityClient.getToken
(identityResponse, ["voip"], tokenOptions);
Bir yöntem çağrısında kimlik oluşturma ve belirteç verme
İletişim Hizmetleri kimliği oluşturmak ve bunun için aynı anda bir erişim belirteci vermek için yöntemini kullanabilirsiniz createUserAndToken .
scopes parametresi bir erişim belirteci izinleri ve rolleri kümesini tanımlar. Kapsamıyla voip oluşturun.
JavaScript
// Issue an identity and an access token with a validity of 24 hours and the "voip" scope for the new identitylet identityTokenResponse = await identityClient.createUserAndToken(["voip"]);
// Get the token, its expiration date, and the user from the responseconst { 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);
Erişim belirtecini yenileme
Belirteçlerin süresi doldukçe bunları yenilemeniz gerekir. Belirteçleri yenilemek için belirteçleri vermek için kullanılan kimlikle yeniden çağırın getToken . Ayrıca yenilenen belirteçlerin de sağlanması scopes gerekir.
JavaScript
// Value of identityResponse represents the Azure Communication Services identity stored during identity creation and then used to issue the tokens being refreshedlet refreshedTokenResponse = await identityClient.getToken(identityResponse, ["voip"]);
Erişim belirteçlerini iptal etme
Erişim belirtecini iptal etmeniz gerekebilir. Örneğin, uygulama kullanıcıları hizmetinizde kimlik doğrulaması yapmak için kullandıkları parolayı değiştirdiğinde bunu yaparsınız. yöntemi, revokeTokens kimliğe verilen tüm etkin erişim belirteçlerini geçersiz kılır.
JavaScript
await identityClient.revokeTokens(identityResponse);
console.log(`\nSuccessfully revoked all access tokens for identity with ID: ${identityResponse.communicationUserId}`);
Kimlik silme
Bir kimliği sildiğinizde, tüm etkin erişim belirteçlerini iptal eder ve kimlik için daha fazla erişim belirteci sorununu önlersiniz. Bunu yaptığınızda kimlikle ilişkili tüm kalıcı içerik de kaldırılır.
JavaScript
await identityClient.deleteUser(identityResponse);
console.log(`\nDeleted the identity with ID: ${identityResponse.communicationUserId}`);
Kodu çalıştırma
Konsol isteminden, issue-access-token.js dosyasını içeren dizine gidin ve ardından aşağıdaki node komutu yürüterek uygulamayı çalıştırın:
Console
node ./issue-access-token.js
Uygulama çıkışı, tamamlanan her eylemi açıklar:
Console
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
Terminal veya komut istemi penceresinde uygulamanız için yeni bir dizin oluşturun ve açın.
Console
mkdir access-tokens-quickstart && cd access-tokens-quickstart
Proje kök dizininde adlı issue-access-tokens.py bir dosya oluşturmak için bir metin düzenleyicisi kullanın. Ardından temel özel durum işleme dahil olmak üzere programın yapısını ekleyin. Tüm kaynak kodu bu dosyaya eklersiniz.
Python
import os
from datetime import timedelta
from azure.communication.identity import CommunicationIdentityClient, CommunicationUserIdentifier
try:
print("Azure Communication Services - Access Tokens Quickstart")
# Quickstart code goes hereexcept Exception as ex:
print("Exception:")
print(ex)
paketini yükleyin
Uygulama dizinindeyken komutunu kullanarak Python paketi için Azure İletişim Hizmetleri Kimlik SDK'sını pip install yükleyin.
Console
pip install azure-communication-identity
İstemcinin kimliğini doğrulama
bağlantı dizesi ile bir CommunicationIdentityClient örneği oluşturma. Bloğuna try eklediğiniz aşağıdaki kod, adlı COMMUNICATION_SERVICES_CONNECTION_STRINGbir ortam değişkeninden kaynağın bağlantı dizesi alır.
# 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)
Erişim belirteçleri oluşturmak için bir kimliğe ihtiyacınız vardır. Azure İletişim Hizmetleri bu amaçla basit bir kimlik dizini tutar. dizininde create_user benzersiz Idbir ile yeni bir giriş oluşturmak için yöntemini kullanın. Kimlik daha sonra erişim belirteçleri vermek için gereklidir.
Python
identity = client.create_user()
print("\nCreated an identity with ID: " + identity.properties['id'])
Alınan kimliği uygulama kullanıcılarınıza eşlemeyle (örneğin, uygulama sunucusu veritabanınızda depolayarak) depolayın.
Erişim belirteci verme
get_token İletişim Hizmetleri kimliğiniz için bir erişim belirteci vermek için yöntemini kullanın.
scopes parametresi bir erişim belirteci izinleri ve rolleri kümesini tanımlar. Daha fazla bilgi için Kimlik modelinde desteklenen eylemlerin listesine bakın. Ayrıca Azure İletişim Hizmeti kimliğinin dize gösterimini temel alan yeni bir parametre CommunicationUserIdentifier örneği de oluşturabilirsiniz.
Python
# 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)
Erişim belirteçleri, yeniden verilmesi gereken kısa süreli kimlik bilgileridir. Bunu yapmamak, uygulama kullanıcı deneyiminizin kesintiye uğramasına neden olabilir.
expires_on Yanıt özelliği erişim belirtecinin ömrünü belirtir.
Özel belirteç süre sonu zamanı ayarlama
Varsayılan belirtecin süre sonu 24 saattir, ancak isteğe bağlı parametresine token_expires_inbir saat ile 24 saat arasında bir değer sağlayarak bunu yapılandırabilirsiniz. Yeni bir belirteç istediğinizde, belirteç süre sonu süresi için iletişim oturumunun beklenen tipik uzunluğunu belirtin.
Python
# 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)
Kimlik oluşturma ve aynı istekte erişim belirteci verme
İletişim Hizmetleri kimliği oluşturmak ve bunun için aynı anda bir erişim belirteci vermek için yöntemini kullanabilirsiniz create_user_and_token .
scopes parametresi bir erişim belirteci izinleri ve rolleri kümesini tanımlar. Daha fazla bilgi için Azure İletişim Hizmetleri için kimlik doğrulaması bölümünde desteklenen eylemlerin listesine bakın.
Python
# 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)
Erişim belirtecini yenileme
Erişim belirtecini CommunicationUserIdentifier yenilemek için nesnesini kullanarak mevcut kimliği geçirerek bir belirteci yeniden gönderin:
Python
# The existingIdentity value represents the Communication Services identity that's stored during identity creation
identity = CommunicationUserIdentifier(existingIdentity)
token_result = client.get_token(identity, ["voip"])
Erişim belirteçlerini iptal etme
Erişim belirtecini açıkça iptal etmeniz gerekebilir. Örneğin, uygulama kullanıcıları hizmetinizde kimlik doğrulaması yapmak için kullandıkları parolayı değiştirdiğinde. yöntemi, revoke_tokens kimliğe verilen tüm etkin erişim belirteçlerini geçersiz kılır.
Python
client.revoke_tokens(identity)
print("\nSuccessfully revoked all access tokens for identity with ID: " + identity.properties['id'])
Kimlik silme
Bir kimliği sildiğinizde, tüm etkin erişim belirteçlerini iptal eder ve kimlik için erişim belirteçlerinin daha fazla verilmesini engellersiniz. Bunu yaptığınızda kimlikle ilişkili tüm kalıcı içerik de kaldırılır.
Python
client.delete_user(identity)
print("\nDeleted the identity with ID: " + identity.properties['id'])
Kodu çalıştırma
Konsol isteminden, dosyayı içeren issue-access-tokens.py dizine gidin ve ardından aşağıdaki python komutu yürüterek uygulamayı çalıştırın.
Console
python ./issue-access-tokens.py
Oluşturulan çıkış, tamamlanan her eylemi açıklar:
Console
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
Terminal veya komut istemi penceresinde, Java uygulamanızı oluşturmak istediğiniz dizine gidin. maven-archetype-quickstart şablonundan bir Java projesi oluşturmak için aşağıdaki kodu çalıştırın:
generate Görevin ile aynı ada artifactIdsahip bir dizin oluşturduğuna dikkat edin. Bu dizin altında, src/main/java dizin proje kaynak kodunu içerir, src/test/java dizin test kaynağını içerir ve pom.xml dosya projenin Proje Nesne Modeli veya POM'dir. Bu dosya proje yapılandırma parametreleri için kullanılır.
İstemciyi, arabirimini uygulayan com.azure.core.http.HttpClient herhangi bir özel HTTP istemcisiyle de başlatabilirsiniz.
App.java dosyasına aşağıdaki kodu yöntemine main ekleyin:
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();
Uç nokta ve erişim anahtarı sağlamak yerine yöntemini kullanarak connectionString() bağlantı dizesi tamamını sağlayabilirsiniz.
Java
// 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();
String endpoint = "https://<RESOURCE_NAME>.communication.azure.com";
TokenCredential credential = new DefaultAzureCredentialBuilder().build();
CommunicationIdentityClient communicationIdentityClient = new CommunicationIdentityClientBuilder()
.endpoint(endpoint)
.credential(credential)
.buildClient();
Kimlik oluşturma
Erişim belirteçleri oluşturmak için bir kimliğe ihtiyacınız vardır. Azure İletişim Hizmetleri bu amaçla basit bir kimlik dizini tutar. dizininde createUser benzersiz Idbir ile yeni bir giriş oluşturmak için yöntemini kullanın.
Java
CommunicationUserIdentifier user = communicationIdentityClient.createUser();
System.out.println("\nCreated an identity with ID: " + user.getId());
Oluşturulan kimlik daha sonra erişim belirteçleri vermek için gereklidir. Alınan kimliği uygulamanızın kullanıcılarına eşleme ile depolayın (örneğin, uygulama sunucusu veritabanınızda depolayarak).
Erişim belirteci verme
getToken İletişim Hizmetleri kimliğiniz için bir erişim belirteci vermek için yöntemini kullanın.
scopes parametresi bir erişim belirteci izinleri ve rolleri kümesini tanımlar. Daha fazla bilgi için Kimlik modelinde desteklenen eylemlerin listesine bakın.
Aşağıdaki kodda, bir belirteç almak için önceki adımda oluşturduğunuz kullanıcı değişkenini kullanın.
Java
// 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);
Erişim belirteçleri, yeniden verilmesi gereken kısa süreli kimlik bilgileridir. Bunu yapmamak, uygulama kullanıcı deneyiminizin kesintiye uğramasına neden olabilir.
expiresAt özelliği, erişim belirtecinin ömrünü gösterir.
Özel belirteç süre sonu zamanı ayarlama
Varsayılan belirtecin süre sonu 24 saattir, ancak isteğe bağlı parametresine tokenExpiresInbir saat ile 24 saat arasında bir değer sağlayarak bunu yapılandırabilirsiniz. Yeni bir belirteç istediğinizde, belirteç süre sonu süresi için iletişim oturumunun beklenen tipik uzunluğunu belirtin.
Java
// 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);
Kimlik oluşturma ve bir istekte belirteç verme
Alternatif olarak, dizinde benzersiz Id bir giriş oluşturmak ve aynı anda bir erişim belirteci vermek için 'createUserAndToken' yöntemini kullanabilirsiniz.
Java
//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);
Erişim belirtecini yenileme
Erişim belirtecini CommunicationUserIdentifier yenilemek için nesnesini kullanarak yeniden gönderin:
Java
// existingIdentity represents the Communication Services identity that's stored during identity creation
CommunicationUserIdentifier identity = new CommunicationUserIdentifier(existingIdentity.getId());
AccessToken response = communicationIdentityClient.getToken(identity, scopes);
Erişim belirtecini iptal etme
Erişim belirtecini açıkça iptal etmeniz gerekebilir. Örneğin, uygulama kullanıcıları hizmetinizde kimlik doğrulaması yapmak için kullandıkları parolayı değiştirdiğinde bunu yaparsınız. yöntemi, revokeTokens belirli bir kullanıcı için tüm etkin erişim belirteçlerini geçersiz hale döndürür. Aşağıdaki kodda, daha önce oluşturulan kullanıcıyı kullanabilirsiniz.
Java
communicationIdentityClient.revokeTokens(user);
System.out.println("\nSuccessfully revoked all access tokens for user identity with ID: " + user.getId());
Kimlik silme
Bir kimliği sildiğinizde, tüm etkin erişim belirteçlerini iptal eder ve kimlik için erişim belirteçlerinin daha fazla verilmesini engellersiniz. Bunu yaptığınızda kimlikle ilişkili tüm kalıcı içerik de kaldırılır.
Java
communicationIdentityClient.deleteUser(user);
System.out.println("\nDeleted the user identity with ID: " + user.getId());
Kodu çalıştırma
Dosyayı içeren dizine pom.xml gidin.
Aşağıdaki mvn komutu kullanarak projeyi derleyin:
Console
mvn compile
paketi derleyin:
Console
mvn package
Uygulamayı yürütmek için aşağıdaki mvn komutu çalıştırın:
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
Etkin bir Azure Logic Apps kaynağı (mantıksal uygulama).
Kullanmak istediğiniz tetikleyiciyle bir Tüketim mantıksal uygulaması iş akışı oluşturun. Şu anda Azure İletişim Hizmetleri Identity bağlayıcısı yalnızca eylemler sağladığından mantıksal uygulamanız en azından bir tetikleyici gerektirir.
Kullanıcı oluşturma
Azure İletişim Hizmetleri Identity bağlayıcısını kullanarak iş akışınıza yeni bir adım ekleyin. Power Automate akışınız düzenleme modunda açıkken Power Automate'te bu adımları tamamlayın.
Tasarımcıyı açın. Yeni eylemi eklemek istediğiniz adımda Yeni adım'ı seçin. Alternatif olarak, yeni eylemi adımlar arasına eklemek için, bu adımlar arasındaki okun üzerine gelin, artı işaretini (+) seçin ve Eylem ekle'yi seçin.
Bağlantı Dizesini sağlayın. Bunu Microsoft Azure portalında, Azure İletişim Hizmeti Kaynağınızın içinde bulabilirsiniz. Bağlantı Dizesini görüntülemek için sol panel menüsündeKi Tuşlar seçeneğini belirleyin.
Bir Bağlantı Adı belirtin.
Oluştur seçeneğine tıklayın
Bu eylem, İletişim Hizmetleri kullanıcı kimliği olan bir Kullanıcı Kimliği oluşturur.
Ayrıca Gelişmiş seçenekleri göster'e tıklayıp Belirteç Kapsamı'nı seçerseniz, eylem ayrıca belirtilen kapsamla bir erişim belirteci ve süre sonu oluşturur.
Kullanıcı erişim belirteci verme
İletişim Hizmetleri kimliğiniz olduktan sonra bir erişim belirteci yayımlayabilirsiniz. Aşağıdaki adımları tamamlayın:
Yeni bir eylem ekleyin ve arama kutusuna İletişim Hizmetleri Kimliği yazın. Eylemler listesinden Kullanıcı erişim belirteci ver'i seçin.
Sistem, belirtilen kapsamla bir erişim belirteci ve süre sonu oluşturur.
Kullanıcı erişim belirteçlerini iptal etme
İletişim Hizmetleri kimliğiniz olduktan sonra, erişim belirtecini iptal etmek için Kullanıcı erişim belirteci verme eylemini kullanabilirsiniz. Aşağıdaki adımları tamamlayın:
Yeni bir eylem ekleyin ve arama kutusuna İletişim Hizmetleri Kimliği yazın. Eylemler listesinden Kullanıcı erişim belirteçlerini iptal et'i seçin.
Kullanıcı kimliğini belirtin.
Sistem, belirtilen kullanıcı için tüm kullanıcı erişim belirteçlerini iptal eder, bu eylem için çıkış yoktur.
Kullanıcı silme
İletişim Hizmetleri kimliğiniz olduktan sonra, erişim belirtecini silmek için Kullanıcı erişim belirteci verme eylemini kullanabilirsiniz. Aşağıdaki adımları tamamlayın:
Yeni bir eylem ekleyin ve arama kutusuna İletişim Hizmetleri Kimliği yazın. Eylemler listesinden Kullanıcı sil'i seçin.
Kullanıcı kimliğini belirtin.
Sistem kullanıcıyı kaldırır ve belirtilen kullanıcı için tüm kullanıcı erişim belirteçlerini iptal eder, bu eylem için çıkış yoktur.
Mantıksal uygulamanızı test edin
İş akışınızı el ile başlatmak için tasarımcı araç çubuğunda Çalıştır'ı seçin. İş akışı bir kullanıcı oluşturur, bu kullanıcı için bir erişim belirteci oluşturur, ardından bunu kaldırır ve kullanıcıyı siler.
Daha fazla bilgi için bkz . İş akışınızı çalıştırma. İş akışı başarıyla çalıştırıldıktan sonra bu eylemlerin çıkışlarını de kontrol edebilirsiniz.
İzleme ve ölçümler için kimlik kullanma
Kullanıcı kimliği, Azure İzleyici aracılığıyla toplanan günlükler ve ölçümler için birincil anahtar görevi görür. Örneğin, kullanıcının tüm çağrılarını görüntülemek için kimlik doğrulamanızı belirli bir Azure İletişim Hizmetleri kimliği (veya kimlikleri) tek bir kullanıcıyla eşlemek üzere ayarlayabilirsiniz.
İletişim Hizmetleri aboneliğini temizlemek ve kaldırmak için kaynağı veya kaynak grubunu silin. Bir kaynak grubunun silinmesi, kaynak grubuyla ilişkili diğer tüm kaynakları da siler. Daha fazla bilgi için bkz . İletişim Hizmetleri kaynaklarını > oluşturma ve yönetme Kaynakları temizleme.
Bu makalede, bir kullanıcının nasıl oluşturulacağı ve silineceği açıklanmıştır. Ayrıca, Azure İletişim Hizmetleri Identity bağlayıcısını kullanarak kullanıcıya erişim belirteci verme ve kullanıcı erişim belirtecini kaldırma işlemleri de açıklanır. Daha fazla bilgi için bkz. kimlik bağlayıcısını Azure İletişim Hizmetleri.
Azure İletişim Hizmetleri E-posta bağlayıcısını kullanarak e-posta gönderme hakkında daha fazla bilgi edinmek için Power Automate'te Azure İletişim Hizmetleri ile e-posta iletisi gönderme seçeneğini işaretleyin.
Microsoft Entra Id, Azure VM'lerinde, işlev uygulamalarında ve diğer kaynaklarda çalışan uygulamalardan Azure İletişim Hizmetleri erişimi yetkilendirmenizi sağlar.