Gambaran konsep
Apa itu izin sensitif
Di DingTalk Open Platform, beberapa izin didefinisikan sebagai “izin sensitif” karena melibatkan data inti organisasi atau tindakan berisiko tinggi. Sebuah aplikasi harus mengajukan izin ini secara terpisah dan memperoleh otorisasi eksplisit dari Admin organisasi sebelum dapat memanggil OpenAPI terkait. Izin sensitif utama yang saat ini tersedia meliputi:Hanya pengguna dengan peran tertentu yang dapat memberikan atau mencabut izin sensitif. Misalnya, “Admin Kontak Seluruh Organisasi” adalah satu-satunya peran yang dapat memberikan izin
qyapi_manage_addresslist.Apa itu Admin Kontak Seluruh Organisasi
qyapi_manage_addresslist adalah cakupan izin sensitif yang digunakan untuk memanggil API penulisan Kontak. Hanya “Admin Kontak Seluruh Organisasi” yang dapat memberikannya.
Peran ini harus memenuhi kedua syarat berikut:
- Memiliki izin dasar pengelolaan Kontak
- Mengelola seluruh organisasi
Suite otorisasi terpadu dan authCode
- Suite otorisasi terpadu: Solusi otorisasi tingkat organisasi yang terstandardisasi yang disediakan oleh DingTalk, dirancang untuk skenario ketika Aplikasi pihak ketiga meminta izin sensitif dari organisasi pelanggan. Dengan mengintegrasikan suite ini, developer dapat memandu organisasi yang memberikan otorisasi melalui alur otorisasi dan memperoleh kode otorisasi sementara (authCode).
- authCode: Kode otorisasi sementara yang dikembalikan oleh DingTalk setelah pengguna mengonfirmasi otorisasi. Kode ini memiliki masa berlaku singkat. Developer menggunakan kode ini untuk memanggil API guna menukarnya dengan
access_token, lalu memanggil OpenAPI yang dilindungi.
Pengalaman developer
Kaitkan cakupan izin selama pengembangan aplikasi
Artikel ini menggunakan cakupan izin sensitif qyapi_manage_addresslist sebagai contoh.
Pertama, kaitkan cakupan izin sensitif qyapi_manage_addresslist dengan aplikasi Anda di Developer Backend. Ini memungkinkan aplikasi memanggil OpenAPI di bawah izin sensitif — Atur cakupan pengelolaan untuk anggota peran.
Jika cakupan izin sensitif qyapi_manage_addresslist tidak tersedia di Developer Backend, hubungi dukungan teknis dan jelaskan kebutuhan bisnis Anda. Setelah evaluasi lolos, platform akan mengaktifkan izin sensitif untuk organisasi developer Anda.
Setelah izin diajukan, developer juga harus mengintegrasikan suite otorisasi terpadu DingTalk untuk menghubungi Admin dari organisasi yang memberikan otorisasi. Jika tidak, panggilan API akan mengembalikan 403.
Panggil OpenAPI dari aplikasi Anda
Gunakanaccess_token untuk memanggil OpenAPI target (seperti membuat departemen atau memperbarui pengguna). HTTP 200 menandakan bahwa panggilan berhasil. Pengalaman developer di sini sama dengan cakupan izin standar.
Pengalaman Admin Organisasi
Otorisasi saat mengaktifkan aplikasi
- Izin standar diberikan kepada aplikasi oleh Admin saat aplikasi diaktifkan.
- Izin sensitif tidak berlaku saat aplikasi diaktifkan. Admin dengan peran yang sesuai harus menyelesaikan otorisasi secara manual di Workbench.
Lihat log audit di backend OA
Anda dapat melihat tindakan organisasi terhadap izin sensitif di backend OA, termasuk “Terima permintaan izin dari aplikasi” dan “Tarik Kembali izin yang sebelumnya diberikan kepada aplikasi”.FAQ
Panggilan OpenAPI aplikasi saya mengembalikan 403. Bagaimana cara memperbaikinya?
Kemungkinan penyebab dan solusinya adalah sebagai berikut: Pastikan izin API yang diperlukan telah diajukan dengan benar di Developer Backend.- Pertama, pastikan izin API telah diajukan di Developer Backend.
-
Periksa apakah otorisasi di sisi organisasi telah selesai:
- Pandu Admin dari organisasi yang memberikan otorisasi untuk menyelesaikan otorisasi manual di Workbench.
- Atau integrasikan SDK suite otorisasi terpadu untuk mengaktifkan alur otorisasi otomatis.