Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Aliran otentikasi IdP kumpulan pengguna OIDC
Dengan login OpenID Connect (OIDC), kumpulan pengguna Anda mengotomatiskan aliran masuk kode otorisasi dengan penyedia identitas (IdP) Anda. Setelah pengguna menyelesaikan proses masuk dengan IdP mereka, Amazon Cognito mengumpulkan kode mereka di oauth2/idpresponse titik akhir penyedia eksternal. Dengan token akses yang dihasilkan, kumpulan pengguna Anda menanyakan titik akhir Id userInfo P untuk mengambil atribut pengguna. Kumpulan pengguna Anda kemudian membandingkan atribut yang diterima dengan aturan pemetaan atribut yang telah Anda atur dan mengisi profil pengguna dan token ID yang sesuai.
Cakupan OAuth 2.0 yang Anda minta dalam konfigurasi penyedia OIDC menentukan atribut pengguna yang disediakan IdP ke Amazon Cognito. Sebagai praktik keamanan terbaik, hanya minta cakupan yang sesuai dengan atribut yang ingin Anda petakan ke kumpulan pengguna Anda. Misalnya, jika kumpulan pengguna Anda memintaopenid profile, Anda akan mendapatkan semua atribut yang mungkin, tetapi jika openid email
phone_number Anda meminta, Anda hanya akan mendapatkan alamat email dan nomor telepon pengguna. Anda dapat mengonfigurasi cakupan yang Anda min ta dari OIDC IdPs agar berbeda dari cakupan yang Anda otorisasi dan minta dalam permintaan otentikasi klien aplikasi dan kumpulan pengguna.
Saat pengguna masuk ke aplikasi Anda menggunakan IDP OIDC, kumpulan pengguna Anda melakukan alur otentikasi berikut.
-
Pengguna mengakses halaman login terkelola Anda, dan memilih untuk masuk dengan IDP OIDC mereka.
-
Aplikasi Anda mengarahkan browser pengguna ke titik akhir otorisasi kumpulan pengguna Anda.
-
Kumpulan pengguna Anda mengalihkan permintaan ke titik akhir otorisasi IDC IdP.
-
IdP Anda menampilkan prompt masuk.
-
Di aplikasi Anda, sesi pengguna menampilkan prompt masuk untuk IDP OIDC.
-
Pengguna memasukkan kredensialnya untuk IdP atau menyajikan cookie untuk sesi yang sudah diautentikasi.
-
Setelah pengguna Anda mengotentikasi, IDC IdP dialihkan ke Amazon Cognito dengan kode otorisasi.
-
Kumpulan pengguna Anda menukar kode otorisasi dengan ID dan token akses. Amazon Cognito menerima token akses saat Anda mengonfigurasi IdP dengan cakupan.
openidKlaim dalam token ID danuserInforespons ditentukan oleh cakupan tambahan dari konfigurasi IdP Anda, misalnyaprofiledanemail. -
IdP Anda mengeluarkan token yang diminta.
-
Kumpulan pengguna Anda menentukan jalur ke titik akhir IdP dari
jwks_uriURL penerbit dalam konfigurasi IdP Anda dan meminta kunci penandatanganan token dari titik akhir set kunci web JSON (JWKS). -
IdP mengembalikan kunci penandatanganan dari titik akhir JWKS.
-
Kumpulan pengguna Anda memvalidasi token IdP dari data tanda tangan dan kedaluwarsa di token.
-
Kumpulan pengguna Anda mengotorisasi permintaan ke titik akhir Id
userInfoP dengan token akses. IdP merespons dengan data pengguna berdasarkan cakupan token akses. -
Kumpulan pengguna Anda membandingkan token ID dan
userInforespons dari IdP dengan aturan pemetaan atribut di kumpulan pengguna Anda. Ini menulis atribut IdP yang dipetakan ke atribut profil kumpulan pengguna. -
Amazon Cognito menerbitkan token pembawa aplikasi Anda, yang mungkin termasuk identitas, akses, dan token penyegaran.
-
Aplikasi Anda memproses token kumpulan pengguna dan mendaftarkan pengguna.
catatan
Amazon Cognito membatalkan permintaan otentikasi yang tidak selesai dalam waktu 5 menit, dan mengarahkan pengguna ke login terkelola. Halaman menampilkan pesan Something
went wrong kesalahan.
OIDC adalah lapisan identitas di atas OAuth 2.0, yang menentukan token identitas JSON-formatted (JWT) yang dikeluarkan oleh aplikasi klien OIDC ( IdPs pihak yang bergantung). Lihat dokumentasi untuk IdP OIDC Anda untuk informasi tentang menambahkan Amazon Cognito sebagai pihak yang mengandalkan OIDC.
Saat pengguna mengotentikasi dengan pemberian kode otorisasi, kumpulan pengguna mengembalikan ID, akses, dan token penyegaran. Token ID adalah token OIDC
Bagaimana kumpulan pengguna memproses klaim dari penyedia OIDC
Saat pengguna Anda menyelesaikan proses masuk dengan penyedia OIDC pihak ketiga, login terkelola mengambil kode otorisasi dari IdP. Kumpulan pengguna Anda menukar kode otorisasi untuk token akses dan ID dengan token titik akhir IdP Anda. Kumpulan pengguna Anda tidak meneruskan token ini ke pengguna atau aplikasi Anda, tetapi menggunakannya untuk membuat profil pengguna dengan data yang disajikan dalam klaim dalam tokennya sendiri.
Amazon Cognito tidak memvalidasi token akses secara independen. Sebaliknya, ia meminta informasi atribut pengguna dari userInfo titik akhir penyedia dan mengharapkan permintaan ditolak jika token tidak valid.
Amazon Cognito memvalidasi token ID penyedia dengan pemeriksaan berikut:
-
Periksa apakah penyedia menandatangani token dengan algoritma dari set berikut: RSA, HMAC, Elliptic Curve.
-
Jika penyedia menandatangani token dengan algoritma penandatanganan asimetris, periksa apakah ID kunci penandatanganan dalam
kidklaim token terdaftar dijwks_urititik akhir penyedia. Amazon Cognito menyegarkan kunci penandatanganan dari titik akhir JWKS di konfigurasi IdP Anda untuk setiap token ID IdP yang diprosesnya. -
Bandingkan tanda tangan token ID dengan tanda tangan yang diharapkan berdasarkan metadata penyedia.
-
Bandingkan
issklaim dengan penerbit OIDC yang dikonfigurasi untuk IdP. -
Bandingkan
audklaim yang cocok dengan ID klien yang dikonfigurasi pada IdP, atau bahwa klaim tersebut berisi ID klien yang dikonfigurasi jika ada beberapa nilai dalamaudklaim. -
Periksa apakah stempel waktu dalam
expklaim tidak sebelum waktu saat ini.
Kumpulan pengguna Anda memvalidasi token ID, lalu mencoba permintaan ke userInfo titik akhir penyedia dengan token akses penyedia. Ini mengambil informasi profil pengguna apa pun yang cakupan dalam token akses mengizinkannya untuk dibaca. Kumpulan pengguna Anda kemudian mencari atribut pengguna yang telah Anda tetapkan sesuai kebutuhan di kumpulan pengguna Anda. Anda harus membuat pemetaan atribut dalam konfigurasi penyedia untuk atribut yang diperlukan. Kumpulan pengguna Anda memeriksa token ID penyedia dan userInfo responsnya. Kumpulan pengguna Anda menulis semua klaim yang mencocokkan aturan pemetaan dengan atribut pengguna pada profil pengguna kumpulan pengguna. Kumpulan pengguna Anda mengabaikan atribut yang cocok dengan aturan pemetaan tetapi tidak diperlukan dan tidak ditemukan dalam klaim penyedia.