Python için Azure İletişim Kimlik Paketi istemci kitaplığı - sürüm 1.4.0

Azure İletişim Kimliği istemci paketinin, Azure İletişim Hizmeti tekliflerini kullanmanın bir yolunu açmak için temel bilgileri ayarlamak için kullanılması amaçlanmıştır. Bu paket sohbet, arama, sms gibi diğer istemci paketleri tarafından kullanılacak kimlik kullanıcı belirteçleri oluşturmaya yardımcı olur.

Kaynak kodu | Paket (Pypi) | Paket (Conda) | API başvuru belgeleri | Ürün belgeleri

Bildirim

Python 2.7 için Azure SDK Python paketleri desteği 01 Ocak 2022'de sona erdi. Daha fazla bilgi ve soru için bkz. https://github.com/Azure/azure-sdk-for-python/issues/20691

Başlarken

Önkoşullar

Paketi yükleme

Pip ile Python için Azure İletişim Kimliği istemci kitaplığını yükleyin:

pip install azure-communication-identity

Önemli kavramlar

CommunicationIdentityClient

CommunicationIdentityClient şu işlemler için işlemler sağlar:

  • Azure İletişim Hizmetleri kullanılacak kimlikleri oluşturun/silin. Bu kimlikler, Azure İletişim tekliflerinden yararlanmak için kullanılabilir ve belirteç kapsamları aracılığıyla sınırlı becerilere sahip olacak şekilde belirlenebilir.

  • Sohbet, arama, sms gibi hizmetlere erişmek için kapsamlı kullanıcı erişim belirteçleri oluşturun/iptal edin. Belirteçler geçerli bir Azure İletişim kimliği için verilir ve herhangi bir zamanda iptal edilebilir.

Kimlik İstemcisi Başlat

# You can find your endpoint and access token from your resource in the Azure Portal
import os
from azure.communication.identity import CommunicationIdentityClient
from azure.identity import DefaultAzureCredential

connection_str = "endpoint=ENDPOINT;accessKey=KEY"
endpoint = "https://<RESOURCE_NAME>.communication.azure.com"

# To use Azure Active Directory Authentication (DefaultAzureCredential) make sure to have
# AZURE_TENANT_ID, AZURE_CLIENT_ID and AZURE_CLIENT_SECRET as env variables.
identity_client_managed_identity = CommunicationIdentityClient(endpoint, DefaultAzureCredential())

#You can also authenticate using your connection string
identity_client = CommunicationIdentityClient.from_connection_string(connection_str)

Örnekler

Aşağıdaki bölümde, en yaygın Azure İletişim Hizmetleri görevlerinden bazılarını kapsayan çeşitli kod parçacıkları sağlanır:

Yeni kullanıcı oluşturma

create_user Yeni bir kullanıcı oluşturmak için yöntemini kullanın.

user = identity_client.create_user()
print("User created with id:" + user.properties['id'])

Kullanıcı için erişim belirteci verme veya yenileme

get_token Kullanıcı için kapsamlı bir erişim belirteci vermek veya yenilemek için yöntemini kullanın.
Kullanıcı nesnesini parametre ve listesini CommunicationTokenScopeolarak geçirin. Kapsam seçenekleri şunlardır:

  • CHAT (Sohbet API'lerine tam erişim için bunu kullanın)
  • VOIP (Arama API'lerine tam erişim için bunu kullanın)
  • CHAT_JOIN (Sohbet API'lerine erişim ancak sohbet yazışmaları oluşturma, silme veya güncelleştirme yetkisi olmadan)
  • CHAT_JOIN_LIMITED (katılımcı eklemeye veya kaldırmaya izin vermeyen CHAT_JOIN daha sınırlı bir sürümü)
  • VOIP_JOIN (Arama API'lerine erişim ancak yeni çağrı başlatma yetkisi olmadan)
tokenresponse = identity_client.get_token(user, scopes=[CommunicationTokenScope.CHAT])
print("Token issued with value: " + tokenresponse.token)

Kullanıcı için özel süre sonu ile erişim belirtecini verme veya yenileme

Belirteç için süre sonu belirtebilirsiniz. Belirtecin süresi en az bir saat veya 24 saat içinde dolacak şekilde yapılandırılabilir. Varsayılan süre sonu 24 saattir.

token_expires_in = timedelta(hours=1)
tokenresponse = identity_client.get_token(user, scopes=[CommunicationTokenScope.CHAT], token_expires_in=token_expires_in)
print("Token issued with value: " + tokenresponse.token)

Tek bir istekte kullanıcı ve belirteç oluşturma

Kolaylık olması için kullanarak create_user_and_token yeni bir kullanıcı oluşturun ve bir işlev çağrısıyla belirteç gönderin. Bu, önce bir kullanıcı oluşturmanın ve ardından belirteç vermenin aksine tek bir web isteğine dönüşür.

user, tokenresponse = identity_client.create_user_and_token(scopes=[CommunicationTokenScope.CHAT])
print("User id:" + user.properties['id'])
print("Token issued with value: " + tokenresponse.token)

Tek bir istekte özel süre sonu ile kullanıcı ve belirteç oluşturma

Belirteç için süre sonu belirtebilirsiniz. Belirtecin süresi en az bir saat veya 24 saat içinde dolacak şekilde yapılandırılabilir. Varsayılan süre sonu 24 saattir.

token_expires_in = timedelta(hours=1)
user, tokenresponse = identity_client.create_user_and_token(scopes=[CommunicationTokenScope.CHAT], token_expires_in=token_expires_in)
print("User id:" + user.properties['id'])
print("Token issued with value: " + tokenresponse.token)

Kullanıcının erişim belirteçlerini iptal etme

Bir kullanıcının tüm erişim belirteçlerini iptal etmek için kullanın revoke_tokens . Kullanıcı nesnesini parametre olarak geçirme

identity_client.revoke_tokens(user)

Kullanıcı silme

delete_user Bir kullanıcıyı silmek için yöntemini kullanın. Kullanıcı nesnesini parametre olarak geçirme

identity_client.delete_user(user)

İletişim Kimliği erişim belirteci için Teams Kullanıcısının Azure AD erişim belirtecini alma

Teams Kullanıcısının get_token_for_teams_user Azure AD erişim belirtecini yeni bir İletişim Kimliği erişim belirteci ile değiştirmek için yöntemini kullanın.

identity_client.get_token_for_teams_user(aad_token, client_id, user_object_id)

Sorun giderme

Azure İletişim Hizmeti Kimliği istemcisi , Azure Core'da tanımlanan özel durumları tetikler.

Sonraki adımlar

Daha fazla örnek kod

Kimlikleri ve belirteçleri yönetmek için bu kitaplığın nasıl kullanılacağına ilişkin ayrıntılı örnekler için lütfen samples dizinine göz atın.

Geri Bildirim Sağlama

Herhangi bir hatayla karşılaşırsanız veya önerileriniz varsa lütfen projenin Sorunlar bölümünde bir sorun oluşturun

Katkıda bulunma

Bu proje, katkı ve önerilere açıktır. Çoğu durumda, sağladığınız katkıyı kullanmamız için bize hak tanıma hakkına sahip olduğunuzu ve bu hakkı bize tanıdığınızı bildiren bir Katkıda Bulunan Lisans Sözleşmesi’ni (CLA) kabul etmeniz gerekir. Ayrıntılar için bkz. https://cla.microsoft.com.

Bir çekme isteği gönderdiğinizde, CLA robotu bir CLA sağlamanız gerekip gerekmediğini otomatik olarak belirler ve çekme isteğini uygun şekilde donatır (örn. etiket, açıklama). Robot tarafından sağlanan yönergeleri izlemeniz yeterlidir. Bu işlemi, CLA’mızı kullanarak tüm depolarda yalnızca bir kere yapmanız gerekir.

Bu proje Microsoft Open Source Code of Conduct (Microsoft Açık Kaynak Kullanım Kuralları) belgesinde listelenen kurallara uygundur. Daha fazla bilgi için Kullanım Kuralları SSS bölümüne bakın veya ek sorularınız veya yorumlarınızla iletişime geçin opencode@microsoft.com .