Gambaran umum token dan klaim

Penyedia identitas terpusat sangat berguna untuk aplikasi yang memiliki pengguna di seluruh dunia yang belum tentu masuk dari jaringan perusahaan. Platform identitas Microsoft mengautentikasi pengguna dan menyediakan token keamanan, seperti token akses, token refresh,dan token ID. Token keamanan memungkinkan aplikasi klien untuk mengakses sumber daya terlindungi di server sumber daya.

  • Token akses - Token akses adalah token keamanan yang dikeluarkan oleh server otorisasi sebagai bagian dari alur OAuth 2.0. Akses token berisi informasi tentang pengguna dan sumber daya yang ditujukan token. Informasi dapat digunakan untuk mengakses API web dan sumber daya terlindungi lainnya. Sumber daya memvalidasi token akses untuk memberikan akses ke aplikasi klien. Untuk informasi selengkapnya, lihat Token akses di platform identitas Microsoft.
  • Token refresh - Karena token akses hanya berlaku untuk waktu yang singkat, server otorisasi terkadang mengeluarkan token refresh pada saat yang sama token akses dikeluarkan. Aplikasi klien kemudian dapat menukar token refresh ini dengan token akses baru ketika diperlukan. Untuk informasi selengkapnya, lihat Menyegarkan token di platform identitas Microsoft.
  • Token ID - Token ID dikirim ke aplikasi klien sebagai bagian dari alur OpenID Connect. Token ID dapat dikirim bersamaan dengan atau menggantikan token akses. Token ID digunakan oleh klien untuk mengautentikasi pengguna. Untuk mempelajari selengkapnya tentang bagaimana platform identitas Microsoft mengeluarkan token ID, lihat token ID di platform identitas Microsoft.

Banyak aplikasi perusahaan menggunakan SAML untuk mengautentikasi pengguna. Untuk informasi tentang pernyataan SAML, lihat referensi token SAML.

Memvalidasi token

Terserah aplikasi tempat token dibuat, aplikasi web yang masuk ke pengguna, atau API web yang dipanggil untuk memvalidasi token. Server otorisasi menandatangani token dengan kunci privat. Server otorisasi menerbitkan kunci publik yang sesuai. Untuk memvalidasi token, aplikasi memverifikasi tanda tangan dengan menggunakan kunci publik server otorisasi untuk memvalidasi bahwa tanda tangan dibuat menggunakan kunci pribadi. Untuk informasi selengkapnya, lihat artikel Mengamankan aplikasi dan API dengan memvalidasi klaim .

Sebaiknya gunakan Microsoft Authentication Libraries (MSAL) yang didukung jika memungkinkan. Ini mengimplementasikan akuisisi, refresh, dan validasi token untuk Anda. Ini juga mengimplementasikan penemuan pengaturan penyewa dan kunci yang sesuai standar menggunakan dokumen penemuan terkenal OpenID penyewa. MSAL mendukung berbagai arsitektur dan platform aplikasi termasuk .NET, JavaScript, Java, Python, Android, dan iOS.

Token hanya berlaku untuk waktu yang terbatas, sehingga server otorisasi sering menyediakan sepasang token. Token akses disediakan, yang mengakses aplikasi atau sumber daya yang dilindungi. Token refresh disediakan, yang digunakan untuk merefresh token akses saat token akses mendekati kedaluwarsa.

Token akses diteruskan ke API web sebagai token pembawa di header Authorization. Aplikasi dapat menyediakan token refresh ke server otorisasi. Jika akses pengguna ke aplikasi tidak dicabut, pengguna akan menerima token akses baru dan token refresh baru. Ketika server otorisasi menerima token refresh, server tersebut mengeluarkan token akses lain hanya jika pengguna masih diotorisasi.

JSON Web Token dan klaim

Platform identitas Microsoft menerapkan token keamanan sebagai JSON Web Token (JWT) yang berisi klaim. Karena JWT digunakan sebagai token keamanan, bentuk autentikasi ini terkadang disebut sebagai autentikasi JWT.

Klaim memberikan pernyataan tentang satu entitas, seperti aplikasi klien atau pemilik sumber daya, ke entitas lain, seperti server sumber daya. Klaim juga dapat disebut sebagai klaim JWT atau klaim JSON Web Token.

Klaim adalah pasangan nama atau nilai yang menyampaikan fakta tentang subjek token. Misalnya, klaim mungkin berisi fakta tentang prinsip keamanan yang diautentikasi server otorisasi. Klaim yang ada dalam token tertentu tergantung pada banyak hal, seperti jenis token, jenis info masuk yang digunakan untuk mengautentikasi subjek, dan konfigurasi aplikasi.

Aplikasi dapat menggunakan klaim untuk berbagai tugas berikut:

  • Memvalidasi token
  • Mengidentifikasi penyewa subjek token
  • Menampilkan informasi pengguna
  • Menentukan otorisasi subjek

Klaim terdiri dari pasangan kunci-nilai yang memberikan jenis informasi berikut:

  • Server token keamanan yang menghasilkan token
  • Tanggal saat token dihasilkan
  • Subjek (seperti pengguna, tetapi bukan daemon)
  • Audiens, yang merupakan aplikasi tempat token dihasilkan
  • Aplikasi (klien) yang meminta token

Titik akhir dan penerbit token

MICROSOFT Entra ID mendukung dua konfigurasi penyewa: Konfigurasi tenaga kerja yang ditujukan untuk penggunaan internal dan mengelola karyawan dan tamu bisnis, dan konfigurasi pelanggan yang dioptimalkan untuk mengisolasi konsumen dan mitra dalam direktori terbatas yang menghadap eksternal. Meskipun layanan identitas yang mendasar identik untuk konfigurasi penyewa, domain masuk dan otoritas penerbit token untuk penyewa pelanggan berbeda. Ini memungkinkan aplikasi untuk menjaga alur kerja tenaga kerja dan ID eksternal dipisahkan jika diperlukan.

Penyewa tenaga kerja ID Microsoft Entra mengautentikasi di login.microsoftonline.com dengan token yang dikeluarkan oleh sts.windows.net. Token penyewa tenaga kerja umumnya dapat dipertukarkan di seluruh penyewa dan aplikasi multi-penyewa selama hubungan kepercayaan yang mendasar mengizinkan interoperabilitas ini. Penyewa pelanggan ID Microsoft Entra menggunakan titik akhir yang disewa dari formulir {tenantname}.ciamlogin.com. Aplikasi yang terdaftar untuk penyewa pelanggan harus mengetahui pemisahan ini untuk menerima dan memvalidasi token dengan benar.

Setiap penyewa MICROSOFT Entra ID menerbitkan metadata terkenal yang mematuhi standar. Dokumen ini berisi informasi tentang nama penerbit, titik akhir autentikasi dan otorisasi, cakupan dan klaim yang didukung. Untuk penyewa pelanggan, dokumen tersedia untuk umum di: https://{tenantname}.ciamlogin.com/{tenantid}/v2.0/.well-known/openid-configuration. Titik akhir ini mengembalikan nilai pengeluar sertifikat https://{tenantname}.ciamlogin.com/{tenantid}/v2.0.ciam.

Alur otorisasi dan kode autentikasi

Bergantung pada bagaimana klien Anda dibangun, klien dapat menggunakan satu atau beberapa alur autentikasi yang didukung oleh platform identitas Microsoft. Alur yang didukung dapat menghasilkan berbagai token dan kode otorisasi dan memerlukan token yang berbeda untuk membuatnya berfungsi. Tabel berikut ini memberikan gambaran umum.

Alur Memerlukan Token ID Token akses Token refresh Kode otorisasi
Alur kode otorisasi x x x x
Alur implisit x x
Alur OIDC hibrid x x
Penukaran token refresh Token refresh x x x
Alur atas nama Token akses x x x
Informasi masuk klien x (Khusus aplikasi)

Token yang dikeluarkan menggunakan alur implisit memiliki batasan panjang karena diteruskan kembali ke browser menggunakan URL, di mana response_mode adalah query atau fragment. Beberapa browser memiliki batasan ukuran URL yang dapat dimasukkan ke dalam bar browser dan gagal ketika terlalu lama. Akibatnya, token ini tidak memiliki klaim groups atau wids.

Baca juga

Langkah berikutnya