Kongsi melalui


Pengesahan

Artikel ini menyediakan gambaran keseluruhan persediaan Microsoft Entra untuk memanggil API Power Platform. Untuk mengakses sumber yang tersedia melalui API Power Platform, anda mesti mendapatkan token pembawa daripada Microsoft Entra dan menghantarnya sebagai pengepala bersama-sama dengan setiap permintaan. Bergantung pada jenis identiti yang anda sokong (pengguna lwn prinsipal perkhidmatan) terdapat aliran yang berbeza untuk mendapatkan token pembawa ini, seperti yang diterangkan dalam artikel ini.

Langkah berikut diperlukan untuk mendapatkan token pemegang dengan keizinan yang betul:

  1. Buat pendaftaran aplikasi dalam penyewa anda Microsoft Entra
  2. Konfigurasikan keizinan API
  3. Konfigurasikan Klien Awam (pilihan)
  4. Konfigurasikan Sijil dan Rahsia (pilihan)
  5. Minta token capaian

Langkah 1. Cipta pendaftaran aplikasi

Navigasi ke Microsoft Entra halaman pendaftaran aplikasi dan buat pendaftaran baharu. Berikan nama kepada aplikasi dan pastikan pilihan Penyewa tunggal dipilih. Anda boleh melangkau perubahan hala persediaan URI.

Langkah 2. Konfigurasikan keizinan API

Dalam pendaftaran aplikasi baharu anda, navigasi kepada tab Urus - Keizinan API. Di bawah bahagian Konfigurasikan keizinan, pilih Tambahkan Keizinan. Pada tetingkap dialog yang dibuka, pilih tab API yang digunakan oleh organisasi saya, kemudian cari API Power Platform. Anda mungkin melihat beberapa entri dengan nama yang sama untuk ini, jadi pastikan anda menggunakan satu entri dengan GUID 8578e004-a5c6-46e7-913e-12f58912df43.

Jika anda tidak melihat Power Platform API dipaparkan dalam senarai semasa mencari mengikut GUID, ada kemungkinan anda masih mempunyai akses kepadanya tetapi keterlihatan tidak dimuat semula. Untuk memaksa muat semula, jalankan skrip berikut:

#Install the Microsoft Graph PowerShell SDK module
Install-Module Microsoft.Graph -Scope CurrentUser -Repository PSGallery -Force

Connect-MgGraph
New-MgServicePrincipal -AppId 8578e004-a5c6-46e7-913e-12f58912df43 -DisplayName "Power Platform API"

Dari sini, anda mesti memilih keizinan yang anda perlukan. Ini dikumpulkan oleh Ruang nama. Dalam ruang nama, anda melihat jenis sumber dan tindakan contohnya AppManagement.ApplicationPackages.Read yang memberikan keizinan baca untuk pakej aplikasi. Untuk maklumat lanjut, lihat artikel rujukan kebenaran kami .

Nota

API Power Platform memanfaatkan keizinan wakilan hanya pada masa ini. Untuk aplikasi yang berjalan dengan konteks pengguna, anda meminta keizinan wakilan dengan menggunakan parameter skop. Keizinan ini mewakilkan kelayakan pengguna didaftar masuk kepada aplikasi anda dengan membenarkannya untuk bertindak sebagai pengguna semasa memanggil titik tamat API Power Platform.

Untuk identiti prinsipal perkhidmatan, keizinan aplikasi tidak digunakan. Sebaliknya, prinsipal perkhidmatan dianggap sebagai Pentadbir Power Platform hari ini dan mesti didaftarkan dengan mengikuti PowerShell - Cipta prinsipal perkhidmatan.

Selepas keizinan yang diperlukan ditambahkan pada aplikasi, pilih Berikan persetujuan pentadbir untuk melengkapkan persediaan. Ini diperlukan untuk tika yang anda ingin membenarkan pengguna untuk mencapai aplikasi anda dengan segera daripada memerlukan pengalaman persetujuan interaktif. Jika anda boleh menyokong persetujuan interaktif, kami mengesyorkan mengikuti platform identiti Microsoft dan OAuth aliran kod kebenaran 2.0.

Langkah 3. Konfigurasikan Klien Awam (pilihan)

Jika apl anda memerlukan sumber membaca dan menulis bagi pihak pengguna, anda mesti mendayakan tetapan Pelanggan Awam. Ini adalah satu-satunya cara ID Microsoft Entra menerima sifat nama pengguna dan kata laluan dalam badan permintaan token anda. Juga ambil perhatian bahawa jika anda bercadang untuk menggunakan ciri ini, ciri ini tidak berfungsi untuk akaun yang mempunyai pengesahan berbilang faktor didayakan.

Untuk mendayakannya, lawati tab Urus - Pengesahan. Di bawah bahagian Tetapan Lanjutan, tetapkan Klien Awam, tukar kepada Ya.

Langkah 4. Konfigurasikan Sijil dan Rahsia (pilihan)

Jika apl anda memerlukan sumber bacaan dan penulisan sebagai sumber itu sendiri - juga dikenali sebagai Prinsipal Perkhidmatan, terdapat dua cara untuk mengesahkan. Untuk menggunakan sijil, navigasi kepada tab Urus - Sijil dan rahsia. Di bawah bahagian Sijil, muat naik sijil x509 yang boleh anda gunakan untuk melakukan pengesahan. Cara lain adalah dengan menggunakan bahagian Rahsia untuk menjana rahsia klien. Simpan rahsia di lokasi selamat untuk digunakan dengan keperluan automasi anda. Pilihan sijil atau rahsia membolehkan anda mengesahkan dengan Microsoft Entra dan menerima token untuk klien ini, yang mana anda serahkan kepada sama ada REST API atau cmdlet PowerShell.

Langkah 5. Minta token capaian

Terdapat dua cara untuk mendapatkan token pemegang capaian. Salah satu cara adalah untuk nama pengguna dan kata laluan serta cara lain adalah untuk Prinsipal Perkhidmatan.

Aliran nama pengguna dan kata laluan

Pastikan anda membaca bahagian Klien Awam di atas. Kemudian, hantar permintaan POST melalui HTTP ke Microsoft Entra ID dengan muatan nama pengguna dan kata laluan.

Content-Type: application/x-www-form-urlencoded
Host: login.microsoftonline.com
Accept: application/json
POST https://login.microsoftonline.com/YOUR_TENANT.COM/oauth2/v2.0/token
BODY:
client_id={CLIENT_ID_FROM_AZURE_CLIENT_APP}&scope=https://api.powerplatform.com/.default&username={USER_EMAIL_ADDRESS}&password={PASSWORD}&grant_type=password

Contoh di atas mengandungi ruang letak yang boleh anda dapatkan semula daripada aplikasi klien anda dalam Microsoft Entra ID. Anda menerima respons yang boleh digunakan untuk membuat panggilan seterusnya kepada Power Platform API.

{
  "token_type": "Bearer",
  "scope": "https://api.powerplatform.com/AppManagement.ApplicationPackages.Install https://api.powerplatform.com/AppManagement.ApplicationPackages.Read https://api.powerplatform.com/.default",
  "expires_in": 4747,
  "ext_expires_in": 4747,
  "access_token": "eyJ0eXAiOiJKV1QiLCJu..."
}

Gunakan nilai access_token dalam panggilan berikutnya kepada API Power Platform dengan pengepala HTTP Pengesahan.

Aliran prinsipal perkhidmatan

Pastikan anda membaca bahagian Sijil dan Rahsia di atas. Kemudian, hantar permintaan POST melalui HTTP ke Microsoft Entra ID dengan muatan rahsia pelanggan. Ini sering dirujuk sebagai pengesahan prinsipal perkhidmatan.

Penting

Ini hanya boleh digunakan selepas anda mendaftarkan ID aplikasi klien ini dengan Microsoft Power Platform mengikuti sama ada dokumentasi berkaitanPowerShell atau REST .

Content-Type: application/x-www-form-urlencoded
Host: login.microsoftonline.com
Accept: application/json
POST https://login.microsoftonline.com/YOUR_TENANT.COM/oauth2/v2.0/token
BODY:
client_id={CLIENT_ID_FROM_AZURE_CLIENT_APP}&scope=https://api.powerplatform.com/.default&client_secret={SECRET_FROM_AZURE_CLIENT_APP}&grant_type=client_credentials

Contoh di atas mengandungi ruang letak yang boleh anda dapatkan semula daripada aplikasi klien anda dalam Microsoft Entra ID. Anda menerima respons yang boleh digunakan untuk membuat panggilan seterusnya kepada Power Platform API.

{
  "token_type": "Bearer",
  "expires_in": 3599,
  "ext_expires_in": 3599,
  "access_token": "eyJ0eXAiOiJKV1..."
}

Gunakan nilai access_token dalam panggilan berikutnya kepada API Power Platform dengan pengepala HTTP Pengesahan. Seperti yang dinyatakan di atas, aliran Prinsipal Perkhidmatan tidak menggunakan keizinan aplikasi dan sebaliknya, buat masa ini, dianggap sebagai Power Platform Pentadbir untuk semua panggilan yang mereka buat.

Mencipta aplikasi prinsipal perkhidmatan melalui API (pratonton)
PowerShell - Buat prinsipal perkhidmatan