Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Kimlik kütüphanesi, Azure İletişim Hizmetleri kullanıcıları ve tokenlarını yönetmek için kullanılır.
Başlarken
Prerequisites
- Bir Azure aboneliği.
- Mevcut bir İletişim Hizmetleri kaynağı. Kaynağı oluşturmanız gerekiyorsa Azure portal, Azure PowerShellveya Azure CLIkullanabilirsiniz.
Yükleniyor
npm install @azure/communication-identity
Tarayıcı desteği
JavaScript Paketi
Bu istemci kitaplığını tarayıcıda kullanmak için önce bir paketleyici kullanmanız gerekir. Bunun nasıl yapılacağının ayrıntıları için lütfen
Temel kavramlar
Clients
Kullanıcıları CommunicationIdentityClient ve tokenlarını yönetmek için yöntemler sunar.
Examples
Authentication
Azure portal'daki İletişim Hizmetleri kaynağınızdan anahtar ve/veya bağlantı dizesi alabilirsiniz. Bir anahtara sahip olduğunuzda, aşağıdaki yöntemlerden herhangi biriyle doğrulama CommunicationIdentityClient yapabilirsiniz:
İstemciyi başlatmadan önce ile AzureKeyCredential oluşturun KeyCredential
import { AzureKeyCredential } from "@azure/core-auth";
import { CommunicationIdentityClient } from "@azure/communication-identity";
const key = "<some-key>";
const endpoint = "https://contoso.eastus.communications.azure.net";
const credential = new AzureKeyCredential(key);
const client = new CommunicationIdentityClient(endpoint, credential);
Bağlantı dizesi kullanma
import { CommunicationIdentityClient } from "@azure/communication-identity";
// Example connection string
const connectionString =
"endpoint=https://contoso.eastus.communications.azure.net/;accesskey=secret";
const client = new CommunicationIdentityClient(connectionString);
Bir TokenCredential
import { DefaultAzureCredential } from "@azure/identity";
import { CommunicationIdentityClient } from "@azure/communication-identity";
const endpoint = "https://contoso.eastus.communications.azure.net";
const credential = new DefaultAzureCredential();
const client = new CommunicationIdentityClient(endpoint, credential);
İstemciyi başlatmak için bir anahtar kullanırsanız uygun uç noktayı da sağlamanız gerekir. Bu uç noktayı Azure portalİletişim Hizmetleri kaynağınızdan alabilirsiniz.
Usage
Yeni bir kullanıcı yaratmak
Yeni bir kullanıcı oluşturmak için bu createUser yöntemi kullanın.
import { DefaultAzureCredential } from "@azure/identity";
import { CommunicationIdentityClient } from "@azure/communication-identity";
const endpoint = "https://contoso.eastus.communications.azure.net";
const credential = new DefaultAzureCredential();
const client = new CommunicationIdentityClient(endpoint, credential);
const user = await client.createUser();
Kullanıcı tokeni oluşturmak ve yenilemek
Bu getToken yöntemi, mevcut bir kullanıcı için token çıkarmak veya yenilemek için kullanın. Yöntem ayrıca iletişim token kapsamlarının bir listesini de içerir. Kapsam seçenekleri şunları içerir:
-
chat(Sohbet API'lerine tam erişim için bunu kullanın) -
voip(Tam Çağrı API'lerine erişim için bunu kullanın) -
chat.join(Sohbet API'lerine erişim ama sohbet başlıkları oluşturma, silme veya güncelleme yetkisi olmadan) -
chat.join.limited(Katılımcı ekleme veya çıkarma imkanı olmayan daha sınırlı bir chat.join sürümü) -
voip.join(Çağrı API'lerine erişim ama yeni çağrılar başlatma yetkisi olmadan)
import { DefaultAzureCredential } from "@azure/identity";
import { CommunicationIdentityClient } from "@azure/communication-identity";
const endpoint = "https://contoso.eastus.communications.azure.net";
const credential = new DefaultAzureCredential();
const client = new CommunicationIdentityClient(endpoint, credential);
const user = await client.createUser();
const { token } = await client.getToken(user, ["chat"]);
Kullanıcı tokenını yenilemek için aynı kullanıcıya başka bir token verin.
import { DefaultAzureCredential } from "@azure/identity";
import { CommunicationIdentityClient } from "@azure/communication-identity";
const endpoint = "https://contoso.eastus.communications.azure.net";
const credential = new DefaultAzureCredential();
const client = new CommunicationIdentityClient(endpoint, credential);
const user = await client.createUser();
let { token } = await client.getToken(user, ["chat"]);
// Refresh the token again
({ token } = await client.getToken(user, ["chat"]));
Özel son kullanma süresine sahip bir kullanıcı tokenı oluşturmak
Ayrıca, son kullanma süresini özelleştirerek bir İletişim Kimliği erişim belirteğeri oluşturmak da mümkündür. Tokenın geçerlilik süresi [60.1440] dakika içinde olmalıdır. Sağlanmazsa, varsayılan değer olan 1440 dakika (24 saat) kullanılır.
import { DefaultAzureCredential } from "@azure/identity";
import { CommunicationIdentityClient } from "@azure/communication-identity";
const endpoint = "https://contoso.eastus.communications.azure.net";
const credential = new DefaultAzureCredential();
const client = new CommunicationIdentityClient(endpoint, credential);
const user = await client.createUser();
const tokenOptions = { tokenExpiresInMinutes: 60 };
const { token } = await client.getToken(user, ["chat"], tokenOptions);
Tek bir istekte kullanıcı ve token oluşturmak
Kolaylık için, yeni bir kullanıcı oluşturup tek bir fonksiyon çağrısıyla token vermek için kullanın createUserAndToken . Bu, önce bir kullanıcı oluşturup ardından token vermek yerine tek bir web talebi anlamına geliyor.
import { DefaultAzureCredential } from "@azure/identity";
import { CommunicationIdentityClient } from "@azure/communication-identity";
const endpoint = "https://contoso.eastus.communications.azure.net";
const credential = new DefaultAzureCredential();
const client = new CommunicationIdentityClient(endpoint, credential);
const { user, token } = await client.createUserAndToken(["chat"]);
Tek bir istekte özel son kullanma süresine sahip bir kullanıcı ve token oluşturmak
Ayrıca, son kullanma süresini özelleştirerek bir İletişim Kimliği erişim belirteğeri oluşturmak da mümkündür. Tokenın geçerlilik süresi [60.1440] dakika içinde olmalıdır. Sağlanmazsa, varsayılan değer olan 1440 dakika (24 saat) kullanılır.
import { DefaultAzureCredential } from "@azure/identity";
import { CommunicationIdentityClient } from "@azure/communication-identity";
const endpoint = "https://contoso.eastus.communications.azure.net";
const credential = new DefaultAzureCredential();
const client = new CommunicationIdentityClient(endpoint, credential);
const userAndTokenOptions = { tokenExpiresInMinutes: 60 };
const { user, token } = await client.createUserAndToken(["chat"], userAndTokenOptions);
Bir kullanıcı için tokenların iptal edilmesi
Bir kullanıcı için verilen tüm tokenları geri almak için bu revokeTokens yöntemi kullanın.
import { DefaultAzureCredential } from "@azure/identity";
import { CommunicationIdentityClient } from "@azure/communication-identity";
const endpoint = "https://contoso.eastus.communications.azure.net";
const credential = new DefaultAzureCredential();
const client = new CommunicationIdentityClient(endpoint, credential);
// Create user
const user = await client.createUser();
// Later when you want to revoke the user's tokens
await client.revokeTokens(user);
Bir kullanıcının sililmesi
Bir kullanıcıyı silmek için bu deleteUser yöntemi kullanın.
import { DefaultAzureCredential } from "@azure/identity";
import { CommunicationIdentityClient } from "@azure/communication-identity";
const endpoint = "https://contoso.eastus.communications.azure.net";
const credential = new DefaultAzureCredential();
const client = new CommunicationIdentityClient(endpoint, credential);
// Create user
const user = await client.createUser();
// Later when you want to delete the user
await client.deleteUser(user);
Bir Teams Kullanıcısının Azure AD erişim belirtekenini İletişim erişim belirteci ile değiştirmek
Bir Teams kullanıcısının Azure AD erişim tokenı, uygun bir son kullanma süresine sahip yeni CommunicationAccessToken bir tokenle değiştirmek için yöntem kullanıngetTokenForTeamsUser.
import { DefaultAzureCredential } from "@azure/identity";
import { CommunicationIdentityClient } from "@azure/communication-identity";
const endpoint = "https://contoso.eastus.communications.azure.net";
const credential = new DefaultAzureCredential();
const client = new CommunicationIdentityClient(endpoint, credential);
const { token, expiresOn } = await client.getTokenForTeamsUser({
teamsUserAadToken: "<aad-access-token-of-a-teams-user>",
clientId: "<cliend-id-of-an-aad-application>",
userObjectId: "<aad-object-id-of-a-teams-user>",
});
Troubleshooting
Logging
Loglamayı etkinleştirmek, hatalarla ilgili yararlı bilgilerin ortaya çıkmasına yardımcı olabilir. HTTP isteklerinin ve yanıtlarının günlüğünü görmek için ortam değişkenini AZURE_LOG_LEVEL olarak infoayarlayın. Alternatif olarak, çalışma zamanında setLogLevel@azure/logger çağrılarak günlük tutma etkinleştirilebilir.
import { setLogLevel } from "@azure/logger";
setLogLevel("info");
Sonraki Adımlar
Bu kitaplığın nasıl kullanılacağına ilişkin ayrıntılı örnekler için lütfen samples dizinine göz atın.
Contributing
Bu kitaplığa katkıda bulunmak istiyorsanız kodu oluşturma ve test etme hakkında daha fazla bilgi edinmek için lütfen katkıda bulunma kılavuzu okuyun.
İlgili projeler
Azure SDK for JavaScript