Megosztás a következőn keresztül:


Azure Communication Identity Package ügyfélkódtár Pythonhoz – 1.4.0-s verzió

Az Azure Communication Identity ügyfélcsomagja az Azure Communication Service-ajánlatok használatának alapjainak beállítására szolgál. Ez a csomag segít olyan identitásfelhasználói jogkivonatok létrehozásában, amelyeket más ügyfélcsomagok, például csevegés, hívás, sms-ek használhatnak.

Forráskód | Csomag (Pypi) | Csomag (Conda) | API-referenciadokumentáció | Termékdokumentáció

Felelősséget kizáró nyilatkozat

Az Azure SDK Python-csomagok támogatása a Python 2.7-hez 2022. január 01-én véget ért. További információkért és kérdésekért lásd: https://github.com/Azure/azure-sdk-for-python/issues/20691

Első lépések

Előfeltételek

A csomag telepítése

Telepítse a Pythonhoz készült Azure Communication Identity ügyfélkódtárat a pip használatával:

pip install azure-communication-identity

Fő fogalmak

CommunicationIdentityClient

CommunicationIdentityClient a következő műveletekhez nyújt műveleteket:

  • A Azure Communication Services használandó identitások létrehozása/törlése. Ezek az identitások felhasználhatók az Azure Communication-ajánlatok használatára, és hatókörük korlátozott lehet a jogkivonat-hatókörökön keresztül.

  • Hatókörrel rendelkező felhasználói hozzáférési jogkivonatok létrehozása/visszavonása olyan szolgáltatások eléréséhez, mint a csevegés, a hívás, az SMS. A jogkivonatok érvényes Azure Communication-identitáshoz vannak kibocsátva, és bármikor visszavonhatók.

Identitásügyfél inicializálása

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

Példák

A következő szakasz számos kódrészletet tartalmaz, amelyek a leggyakoribb Azure Communication Services feladatokat tartalmazzák, többek között:

Új felhasználó létrehozása

create_user A metódus használatával hozzon létre egy új felhasználót.

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

Hozzáférési jogkivonat kiállítása vagy frissítése egy felhasználó számára

get_token A metódussal kibocsáthat vagy frissíthet egy hatókörön belüli hozzáférési jogkivonatot a felhasználó számára.
Adja meg a felhasználói objektumot paraméterként, és adja meg a CommunicationTokenScopekövetkező listáját: . A hatókör beállításai a következők:

  • CHAT (Használja ezt a csevegési API-k teljes körű eléréséhez)
  • VOIP (Használja ezt a hívó API-khoz való teljes hozzáféréshez)
  • CHAT_JOIN (Hozzáférés csevegési API-khoz, de a csevegési szálak létrehozására, törlésére vagy frissítésére vonatkozó engedély nélkül)
  • CHAT_JOIN_LIMITED (A CHAT_JOIN korlátozottabb verziója, amely nem teszi lehetővé a résztvevők hozzáadását vagy eltávolítását)
  • VOIP_JOIN (Hozzáférés a hívó API-khoz, de nem rendelkezik új hívások indítására vonatkozó engedéllyel)
tokenresponse = identity_client.get_token(user, scopes=[CommunicationTokenScope.CHAT])
print("Token issued with value: " + tokenresponse.token)

Hozzáférési jogkivonat kiállítása vagy frissítése egyéni lejárattal egy felhasználó számára

Megadhatja a jogkivonat lejárati idejét. A jogkivonat úgy konfigurálható, hogy akár egy órán belül, akár 24 órán belül lejárjon. Az alapértelmezett lejárati idő 24 óra.

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)

Felhasználó és jogkivonat létrehozása egyetlen kérelemben

A kényelem érdekében hozzon létre egy új felhasználót, create_user_and_token és adjon ki egy jogkivonatot egy függvényhívással. Ez egyetlen webes kérésre fordítható le, nem pedig egy felhasználó első létrehozása, majd egy jogkivonat kiállítása.

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

Felhasználó és jogkivonat létrehozása egyéni lejárattal egyetlen kérelemben

Megadhatja a jogkivonat lejárati idejét. A jogkivonat úgy konfigurálható, hogy akár egy órán belül, akár 24 órán belül lejárjon. Az alapértelmezett lejárati idő 24 óra.

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)

Felhasználó hozzáférési jogkivonatainak visszavonása

A használatával revoke_tokens visszavonhatja a felhasználó összes hozzáférési jogkivonatát. Adja meg a felhasználói objektumot paraméterként

identity_client.revoke_tokens(user)

Felhasználó törlése

delete_user A metódus használatával törölhet egy felhasználót. Adja meg a felhasználói objektumot paraméterként

identity_client.delete_user(user)

Egy Teams-felhasználó Azure AD hozzáférési jogkivonatának cseréje kommunikációs identitás hozzáférési jogkivonatra

get_token_for_teams_user A metódussal egy Teams-felhasználó Azure AD hozzáférési jogkivonatát cseréli le egy új kommunikációs identitás hozzáférési jogkivonatára.

identity_client.get_token_for_teams_user(aad_token, client_id, user_object_id)

Hibaelhárítás

Az Azure Communication Service Identity-ügyfél kivételeket hoz létre az Azure Core-ban.

Következő lépések

További mintakód

Tekintse meg a mintakönyvtárat , amely részletesen bemutatja, hogyan kezelhetők az identitások és jogkivonatok a kódtárban.

Visszajelzés küldése

Ha bármilyen hibába ütközik, vagy javaslatai vannak, küldjön egy problémát a projekt Problémák szakaszában.

Közreműködés

A projektben szívesen fogadjuk a hozzájárulásokat és a javaslatokat. A legtöbb hozzájáruláshoz el kell fogadnia egy Közreműködői licencszerződést (CLA-t), amelyben kijelenti, hogy jogosult arra, hogy ránk ruházza hozzájárulása felhasználási jogát, és ezt ténylegesen meg is teszi. További részletekért lásd: https://cla.microsoft.com.

A lekéréses kérelmek elküldésekor egy CLA-robot automatikusan meghatározza, hogy kell-e biztosítania CLA-t, és megfelelően kitölti a lekéréses kérelmet (például címke, megjegyzés). Egyszerűen csak kövesse a robot által megadott utasításokat. Ezt csak egyszer kell elvégeznie az összes olyan tárházban, amely a CLA-t használja.

A projekt a Microsoft nyílt forráskódú projekteket szabályozó etikai kódexe, a Microsoft Open Source Code of Conduct hatálya alá esik. További információkért lásd a viselkedési szabályzattal kapcsolatos gyakori kérdéseket , vagy vegye fel a kapcsolatot opencode@microsoft.com az esetleges további kérdésekkel vagy megjegyzésekkel.