Pustaka klien Azure Communication Identity Package untuk Python - versi 1.4.0
Paket klien Azure Communication Identity dimaksudkan untuk digunakan untuk menyiapkan dasar-dasar untuk membuka cara menggunakan penawaran Azure Communication Service. Paket ini membantu membuat token pengguna identitas untuk digunakan oleh paket klien lain seperti obrolan, panggilan, sms.
Kode sumber | Paket (Pypi) | Paket (Conda) | Dokumentasi | referensi APIDokumentasi produk
Pengelakan
Dukungan paket Azure SDK Python untuk Python 2.7 telah berakhir 01 Januari 2022. Untuk informasi lebih lanjut dan pertanyaan, silakan merujuk ke https://github.com/Azure/azure-sdk-for-python/issues/20691
Memulai
Prasyarat
- Python 3.7 atau yang lebih baru diharuskan untuk menggunakan paket ini.
- Anda harus memiliki langganan Azure
- Sumber daya Communication Services yang disebarkan. Anda dapat menggunakan Portal Microsoft Azure atau Azure PowerShell untuk menyiapkannya.
Instal paketnya
Instal pustaka klien Azure Communication Identity untuk Python dengan pip:
pip install azure-communication-identity
Konsep utama
CommunicationIdentityClient
CommunicationIdentityClient
menyediakan operasi untuk:
Buat/hapus identitas yang akan digunakan dalam Azure Communication Services. Identitas tersebut dapat digunakan untuk menggunakan penawaran Azure Communication dan dapat dilingkup untuk memiliki kemampuan terbatas melalui cakupan token.
Membuat/mencabut token akses pengguna tercakup untuk mengakses layanan seperti obrolan, panggilan, sms. Token dikeluarkan untuk identitas Azure Communication yang valid dan dapat dicabut kapan saja.
Menginisialisasi Klien Identitas
# 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)
Contoh
Bagian berikut ini menyediakan beberapa cuplikan kode yang mencakup beberapa tugas Azure Communication Services yang paling umum, termasuk:
- Membuat pengguna baru
- Menerbitkan atau Merefresh token akses untuk pengguna
- Membuat pengguna dan token dalam satu permintaan
- Mencabut token akses pengguna
- Menghapus pengguna
- Bertukar Azure AD token akses Pengguna Teams untuk token akses Identitas Komunikasi
Membuat pengguna baru
create_user
Gunakan metode untuk membuat pengguna baru.
user = identity_client.create_user()
print("User created with id:" + user.properties['id'])
Menerbitkan atau Merefresh token akses untuk pengguna
get_token
Gunakan metode untuk mengeluarkan atau me-refresh token akses terlingkup untuk pengguna.
Teruskan objek pengguna sebagai parameter, dan daftar CommunicationTokenScope
. Opsi cakupan adalah:
CHAT
(Gunakan ini untuk akses penuh ke API Obrolan)VOIP
(Gunakan ini untuk akses penuh ke API Panggilan)CHAT_JOIN
(Akses ke API Obrolan tetapi tanpa otorisasi untuk membuat, menghapus, atau memperbarui utas obrolan)CHAT_JOIN_LIMITED
(Versi CHAT_JOIN yang lebih terbatas yang tidak memungkinkan untuk menambahkan atau menghapus peserta)VOIP_JOIN
(Akses ke API Panggilan tetapi tanpa otorisasi untuk memulai panggilan baru)
tokenresponse = identity_client.get_token(user, scopes=[CommunicationTokenScope.CHAT])
print("Token issued with value: " + tokenresponse.token)
Menerbitkan atau Merefresh token akses dengan kedaluwarsa kustom untuk pengguna
Anda dapat menentukan waktu kedaluwarsa untuk token. Token dapat dikonfigurasi untuk kedaluwarsa dalam waktu hanya satu jam atau selama 24 jam. Waktu kedaluwarsa default adalah 24 jam.
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)
Membuat pengguna dan token dalam satu permintaan
Untuk kenyamanan, gunakan create_user_and_token
untuk membuat pengguna baru dan mengeluarkan token dengan satu panggilan fungsi. Ini diterjemahkan ke dalam satu permintaan web dibandingkan dengan membuat pengguna terlebih dahulu dan kemudian mengeluarkan token.
user, tokenresponse = identity_client.create_user_and_token(scopes=[CommunicationTokenScope.CHAT])
print("User id:" + user.properties['id'])
print("Token issued with value: " + tokenresponse.token)
Membuat pengguna dan token dengan kedaluwarsa kustom dalam satu permintaan
Anda dapat menentukan waktu kedaluwarsa untuk token. Token dapat dikonfigurasi untuk kedaluwarsa dalam waktu hanya satu jam atau selama 24 jam. Waktu kedaluwarsa default adalah 24 jam.
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)
Mencabut token akses pengguna
Gunakan revoke_tokens
untuk mencabut semua token akses untuk pengguna. Meneruskan objek pengguna sebagai parameter
identity_client.revoke_tokens(user)
Menghapus pengguna
delete_user
Gunakan metode untuk menghapus pengguna. Meneruskan objek pengguna sebagai parameter
identity_client.delete_user(user)
Bertukar Azure AD token akses Pengguna Teams untuk token akses Identitas Komunikasi
get_token_for_teams_user
Gunakan metode untuk menukar token akses Azure AD Pengguna Teams dengan token akses Identitas Komunikasi baru.
identity_client.get_token_for_teams_user(aad_token, client_id, user_object_id)
Pemecahan Masalah
Klien Azure Communication Service Identity akan memunculkan pengecualian yang ditentukan dalam Azure Core.
Langkah berikutnya
Lebih banyak kode sampel
Silakan lihat direktori sampel untuk contoh terperinci tentang cara menggunakan pustaka ini untuk mengelola identitas dan token.
Berikan Umpan Balik
Jika Anda menemukan bug atau memiliki saran, silakan ajukan masalah di bagian Masalah proyek
Berkontribusi
Proyek ini menyambut baik kontribusi dan saran. Sebagian besar kontribusi mengharuskan Anda menyetujui Perjanjian Lisensi Kontributor (CLA) yang menyatakan bahwa Anda memiliki hak untuk, dan benar-benar melakukannya, memberi kami hak untuk menggunakan kontribusi Anda. Untuk detailnya, kunjungi https://cla.microsoft.com.
Ketika Anda mengirimkan permintaan tarik, CLA-bot akan secara otomatis menentukan apakah Anda perlu memberikan CLA dan menghias PR dengan tepat (misalnya, label, komentar). Cukup ikuti instruksi yang diberikan oleh bot. Anda hanya perlu melakukan ini sekali di semua repos menggunakan CLA kami.
Proyek ini telah mengadopsi Kode Etik Sumber Terbuka Microsoft. Untuk informasi selengkapnya, lihat Tanya Jawab Umum Tata Tertib atau hubungi opencode@microsoft.com untuk pertanyaan atau komentar lainnya.
Azure SDK for Python