Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
BERLAKU UNTUK: Pengembang | Dasar | Dasar v2 | Standar | Standar v2 | Premium | Premium v2
Delegasi memungkinkan situs web Anda memiliki data pengguna dan melakukan validasi kustom untuk pengguna portal pengembang. Dengan delegasi, Anda dapat menangani masuk dan mendaftar pengembang (dan operasi manajemen akun terkait) dan langganan produk dengan menggunakan situs web yang ada, alih-alih fungsionalitas bawaan portal pengembang.
Mendelegasikan masuk dan pendaftaran pengembang
Untuk mendelegasikan opsi masuk, pendaftaran, dan manajemen akun pengembang ke situs web Anda yang sudah ada, buat titik akhir delegasi khusus di situs Anda. Delegasi khusus ini bertindak sebagai titik masuk untuk setiap masuk/daftar dan permintaan lain yang berkaitan yang dimulai dari portal pengembang API Management.
Alur kerja akhir terdiri dari langkah-langkah berikut:
- Pengembang mengklik tautan masuk atau pendaftaran atau tautan manajemen akun di portal pengembang API Management.
- Peramban mengalihkan ke titik akhir pendelegasian.
- Titik akhir delegasi kemudian mengarahkan pengguna ke UI masuk/daftar atau manajemen akun.
- Setelah operasi selesai, pengguna dialihkan kembali ke portal pengembang API Management di lokasi yang mereka tinggalkan.
Menyiapkan API Management untuk merutekan permintaan melalui titik akhir delegasi
Di portal Microsoft Azure, buka instans API Management Anda.
Di menu bilah samping, di bawah Portal pengembang, pilih Delegasi.
Pilih kotak centang untuk Mengaktifkan delegasi.
Pilih kotak centang untuk mengaktifkan Delegasi masuk & pendaftaran.
Pilih URL untuk titik akhir delegasi khusus Anda dan masukkan di bidang Titik akhir layanan delegasi .
Pada Kunci delegasi:
- Buat Kunci validasi utama atau Kunci validasi sekunder (atau keduanya) untuk digunakan oleh layanan delegasi Anda untuk memvalidasi permintaan dari API Management. Pilih elipsis (...) di samping salah satu kunci lalu pilih Regenerasi.
- Pilih elipsis (...) di samping salah satu kunci lalu pilih Salin. Salin kunci ke lokasi yang aman, dan gunakan saat mengonfigurasi layanan delegasi Anda.
Pilih Simpan.
Petunjuk / Saran
Anda dapat memutar dan meregenerasi kunci validasi delegasi kapan saja. Rotasi menggantikan kunci primer dengan kunci sekunder, dan meregenerasi kunci sekunder. Setelah menyimpan kunci, pastikan untuk memperbarui layanan delegasi Anda untuk menggunakan kunci baru.
Buat titik akhir delegasi Anda
Untuk membuat titik akhir delegasi baru untuk diterapkan di situs Anda, ikuti langkah-langkah berikut:
Terima permintaan dalam bentuk berikut, bergantung pada operasinya:
http://www.yourwebsite.com/apimdelegation?operation={operation}& returnUrl={URL halaman sumber}&salt={string}&sig={string}
-Atau-
http://www.yourwebsite.com/apimdelegation?operation={operation}& userId={ID pengguna akun}&salt={string}&sig={string}
Parameter kueri:
Pengaturan Deskripsi operasi Mengidentifikasi jenis permintaan delegasi. Operasi yang tersedia: SignIn, SignUp, ChangePassword, ChangeProfile, CloseAccount, SignOut. returnUrl Pada SignIn atau SignUp, URL tempat pengguna mengklik tautan masuk atau pendaftaran. userId Pada ChangePassword, ChangeProfile, CloseAccount, dan SignOut, ID pengguna akun yang ingin Anda kelola. garam String salt khusus yang digunakan untuk perhitungan hash keamanan. Sig Hash keamanan yang dihitung digunakan untuk perbandingan dengan hash yang Anda hitung sendiri. Verifikasikan apakah permintaan berasal dari Azure API Management (opsional, tetapi sangat direkomendasikan untuk keamanan).
Hitung hash HMAC-SHA512 dari sebuah string berdasarkan parameter kueri returnUrl (atau UserId) dan salt. Misalnya, periksa contoh kode kami.
Untuk SignIn dan SignUp:
HMAC(salt + '\n' + returnUrl)Untuk ChangePassword, ChangeProfile, CloseAccount, dan SignOut:
HMAC(salt + '\n' + userId)Bandingkan hash yang dihitung di atas dengan nilai parameter kueri sig. Jika kedua hash cocok, lanjutkan ke langkah berikutnya. Jika tidak, tolak permintaan.
Verifikasi bahwa Anda menerima permintaan untuk masuk/mendaftar atau operasi manajemen akun.
Sajikan pengguna dengan UI masuk/daftar atau manajemen akun.
Setelah menyelesaikan operasi di sisi Anda, kelola pengguna di API Management. Misalnya, jika pengguna mendaftar, buat akun yang sesuai untuk mereka di API Management.
- Buat pengguna dengan API Management REST API.
- Atur ID pengguna ke nilai yang sama di toko pengguna Anda atau ID baru yang mudah dilacak.
Setelah masuk atau mendaftar, saat pengguna berhasil diautentikasi:
Meminta token akses bersama melalui API Management REST API.
Tambahkan parameter kueri returnUrl ke URL SSO yang telah Anda terima dari panggilan API di atas. Contohnya:
https://contoso.developer.azure-api.net/signin-sso?token=<URL-encoded token>&returnUrl=%2Freturn%2FurlMengalihkan pengguna ke URL yang diproduksi di atas.
Mendelegasikan langganan produk
Mendelegasikan langganan produk dilakukan dengan cara yang sama seperti mendelegasikan login/registrasi pengguna. Alur kerja akhir terdiri dari langkah-langkah berikut:
- Pengembang memilih produk di portal pengembang API Management dan memilih tombol Berlangganan .
- Peramban mengalihkan ke titik akhir pendelegasian.
- Titik akhir delegasi melakukan langkah-langkah langganan produk yang diperlukan, yang Anda desain. Langkah-langkah ini dapat mencakup:
- Mengarahkan ke halaman lain untuk meminta informasi penagihan.
- Mengajukan pertanyaan lebih lanjut.
- Menyimpan informasi dan tidak memerlukan tindakan pengguna.
Mengaktifkan fungsionalitas API Management
Pada halaman Delegasi , pilih kotak centang untuk Mengaktifkan delegasi, lalu aktifkan Delegasikan langganan produk.
Buat titik akhir delegasi Anda
Untuk membuat titik akhir delegasi baru untuk situs Anda, ikuti langkah-langkah ini:
Terima permintaan dalam formulir berikut, tergantung pada operasi.
http://www.yourwebsite.com/apimdelegation?operation={operation}&p roductId={product to subscribe to}&userId={user making request}&salt={string}&sig={string}
-Atau-
http://www.yourwebsite.com/apimdelegation?operation={operation}& subscriptionId={langganan yang akan dikelola}&salt={string}&sig={string}
Parameter kueri:
Pengaturan Deskripsi operasi Mengidentifikasi jenis permintaan delegasi. Opsi permintaan langganan produk yang valid adalah: - Berlangganan: permintaan untuk berlangganan pengguna ke produk tertentu dengan ID yang disediakan (lihat di bawah).
- Berhenti berlangganan: permintaan untuk berhenti berlangganan pengguna dari produk
productId Pada Langganan, ID produk yang diminta pengguna untuk berlangganan. userId Pada Langganan, ID pengguna yang meminta permohonan. subscriptionId Pada Berhenti berlangganan, ID langganan produk. garam String salt khusus yang digunakan untuk perhitungan hash keamanan. Sig Hash keamanan yang dihitung digunakan untuk perbandingan dengan hash yang Anda hitung sendiri. Verifikasi bahwa permintaan berasal dari Azure API Management (opsional, tetapi sangat direkomendasikan untuk keamanan).
Hitung HMAC-SHA512 dari string berdasarkan productId dan userId (atau subscriptionId) dan parameter kueri salt:
Untuk Berlangganan:
HMAC(salt + '\n' + productId + '\n' + userId)Untuk Berhenti berlangganan:
HMAC(salt + '\n' + subscriptionId)Bandingkan hash yang dihitung di atas dengan nilai parameter kueri sig. Jika kedua hash cocok, pindah ke langkah berikutnya. Jika tidak, tolak permintaan.
Memproses langganan produk berdasarkan jenis operasi yang diminta dalam operasi - (misal: penagihan, pertanyaan lanjutan, dll.).
Setelah menyelesaikan operasi di sisi Anda, kelola langganan di API Management. Misalnya, berlangganan pengguna ke produk API Management dengan memanggil REST API untuk langganan.
Contoh kode
Sampel kode ini menunjukkan cara menghasilkan hash returnUrl parameter kueri saat mendelegasikan masuk atau mendaftar pengguna.
returnUrl adalah URL halaman tempat pengguna mengklik tautan masuk atau mendaftar.
- Ambil kunci validasi delegasi, yang Anda tetapkan di layar Delegasi portal Microsoft Azure.
- Buat HMAC, yang memvalidasi tanda tangan digital dan membuktikan validitas elemen yang diteruskan
returnUrl.
Dengan sedikit modifikasi, Anda dapat menggunakan kode yang sama untuk menghitung hash lain, seperti dengan productId dan userId saat mendelegasikan langganan produk.
Kode C# untuk menghasilkan hash dari returnUrl
using System.Security.Cryptography;
string key = "delegation validation key";
string returnUrl = "returnUrl query parameter";
string salt = "salt query parameter";
string signature;
using (var encoder = new HMACSHA512(Convert.FromBase64String(key)))
{
signature = Convert.ToBase64String(encoder.ComputeHash(Encoding.UTF8.GetBytes(salt + "\n" + returnUrl)));
// change to (salt + "\n" + productId + "\n" + userId) when delegating product subscription
// compare signature to sig query parameter
}
kode Node.js untuk menghasilkan hash dari returnUrl
var crypto = require('crypto');
var key = 'delegation validation key';
var returnUrl = 'returnUrl query parameter';
var salt = 'salt query parameter';
var hmac = crypto.createHmac('sha512', new Buffer(key, 'base64'));
var digest = hmac.update(salt + '\n' + returnUrl).digest();
// change to (salt + "\n" + productId + "\n" + userId) when delegating product subscription
// compare signature to sig query parameter
var signature = digest.toString('base64');
Penting
Anda perlu menerbitkan ulang portal pengembang agar perubahan delegasi dapat diterapkan.
Konten terkait
- Pelajari selengkapnya tentang portal pengembang
- Mengautentikasi menggunakan ID Microsoft Entra atau dengan MICROSOFT Entra External ID
- Lebih banyak pertanyaan portal pengembang? Temukan jawaban di FAQ kami.