Bagikan melalui


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

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

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.