Menerapkan praktik terbaik ke Microsoft Graph
Unit ini menjelaskan praktik terbaik yang dapat Anda terapkan untuk memaksimalkan Microsoft Graph dan membuat aplikasi Anda lebih andal bagi pengguna akhir.
Autentikasi
Untuk mengakses data di Microsoft Graph, aplikasi Anda perlu memperoleh token akses OAuth 2.0, dan menyajikannya ke Microsoft Graph dalam salah satu metode berikut:
- Header permintaan Otorisasi HTTP, sebagai token Pembawa
- Konstruktor klien grafik, saat menggunakan pustaka klien Microsoft Graph
Gunakan Microsoft Authentication Library API, MSAL untuk memperoleh token akses ke Microsoft Graph.
Persetujuan dan otorisasi
Terapkan praktik terbaik berikut untuk persetujuan dan otorisasi di aplikasi Anda:
Gunakan hak istimewa minimum. Hanya minta izin yang diperlukan, dan hanya saat Anda membutuhkannya. Untuk API, aplikasi Anda memanggil periksa bagian izin dalam topik metode. Misalnya, lihat membuat pengguna dan memilih izin hak istimewa paling minimum.
Gunakan jenis izin yang tepat berdasarkan skenario. Jika Anda membangun aplikasi interaktif tempat pengguna yang masuk berada, aplikasi Anda harus menggunakan izin yang didelegasikan. Namun, jika aplikasi Anda berjalan tanpa pengguna yang masuk, seperti layanan latar belakang atau daemon, aplikasi Anda harus menggunakan izin aplikasi.
Perhatian
Menggunakan izin aplikasi untuk skenario interaktif dapat menempatkan aplikasi Anda pada risiko kepatuhan dan keamanan. Pastikan untuk memeriksa hak istimewa pengguna untuk memastikan mereka tidak memiliki akses yang tidak diinginkan ke informasi, atau memutari kebijakan yang dikonfigurasi oleh administrator.
Pertimbangkan pengalaman pengguna akhir dan admin. Secara langsung memengaruhi pengalaman pengguna akhir dan admin. Contohnya:
Pertimbangkan siapa yang menyetujui aplikasi Anda, baik pengguna akhir atau administrator, dan konfigurasikan aplikasi Anda untuk meminta izin dengan tepat.
Pastikan Anda memahami perbedaan antara persetujuan statis, dinamis, dan inkremental.
Pertimbangkan aplikasi multipenyewa. Perkirakan pelanggan untuk memiliki berbagai kontrol aplikasi dan persetujuan di berbagai kondisi. Contohnya:
Administrator penyewa dapat menonaktifkan kemampuan bagi pengguna akhir untuk menyetujui aplikasi. Dalam hal ini, administrator harus menyetujui atas nama pengguna mereka.
Administrator penyewa dapat menetapkan kebijakan otorisasi kustom seperti memblokir pengguna dari membaca profil pengguna lain, atau membatasi pembuatan grup layanan mandiri ke serangkaian pengguna terbatas. Dalam hal ini, aplikasi Anda harus bersiap untuk menangani respons kesalahan 403 saat bertindak atas nama pengguna.
Menangani respons secara efektif
Bergantung pada permintaan yang Anda buat untuk Microsoft Graph, aplikasi Anda harus siap untuk menangani berbagai jenis respons. Berikut adalah beberapa praktik terpenting untuk diikuti guna memastikan bahwa aplikasi Anda berperilaku andal dan dapat diprediksi bagi pengguna akhir Anda. Contohnya:
Penomoran halaman: Saat mengkueri koleksi sumber daya, Anda harus mengharapkan bahwa Microsoft Graph mengembalikan tataan hasil di beberapa halaman, karena batas ukuran halaman sisi server. Aplikasi Anda harus selalu menangani kemungkinan bahwa respons di-paged secara alami, dan menggunakan
@odata.nextLinkproperti untuk mendapatkan kumpulan hasil halaman berikutnya, hingga semua halaman tataan hasil dibaca. Halaman akhir tidak menyertakan@odata.nextLinkproperti. Untuk informasi selengkapnya, kunjungi halaman.Enumerasi yang dapat berevolusi: Menambahkan anggota ke enumerasi yang sudah ada dapat merusak aplikasi yang sudah menggunakan enumerasi ini. Enum yang dapat berkembang adalah mekanisme yang digunakan Microsoft Graph API untuk menambahkan anggota baru ke enumerasi yang ada tanpa menyebabkan perubahan yang melanggar untuk aplikasi. Secara default, operasi GET hanya mengembalikan anggota yang dikenal untuk properti jenis enumerasi yang dapat berevolusi dan aplikasi Anda hanya perlu menangani anggota yang dikenal. Jika Anda merancang aplikasi Anda untuk menangani anggota yang tidak dikenal juga, Anda dapat memilih untuk menerima anggota tersebut dengan menggunakan header permintaan HTTP
Prefer.
Menyimpan data secara lokal
Aplikasi Anda idealnya harus melakukan panggilan ke Microsoft Graph untuk mengambil data secara real time sesuai kebutuhan. Anda hanya boleh menyimpan data secara lokal untuk skenario tertentu. Jika kasus penggunaan tersebut dicakup oleh ketentuan penggunaan dan kebijakan privasi Anda, dan tidak melanggar Ketentuan Penggunaan API Microsoft, aplikasi Anda juga harus menerapkan kebijakan penyimpanan dan penghapusan yang tepat.