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
- Bu paketi kullanmak için Python 3.7 veya üzeri gereklidir.
- Azure aboneliğiniz olmalıdır
- Dağıtılan bir İletişim Hizmetleri kaynağı. Ayarlamak için Azure Portal'ı veya Azure PowerShell kullanabilirsiniz.
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
- Kullanıcı için erişim belirteci verme veya yenileme
- Tek bir istekte kullanıcı ve belirteç oluşturma
- Kullanıcının erişim belirteçlerini iptal etme
- Kullanıcı silme
- İletişim Kimliği erişim belirteci için Teams Kullanıcısının Azure AD erişim belirtecini alma
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 CommunicationTokenScope
olarak 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 .
Azure SDK for Python