View a markdown version of this page

Menggunakan penyedia identitas OIDC dengan kumpulan pengguna - Amazon Cognito

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Menggunakan penyedia identitas OIDC dengan kumpulan pengguna

Pengguna dapat masuk ke aplikasi Anda menggunakan akun mereka yang ada dari penyedia identitas OpenID Connect (OIDC) (IdPs). Dengan penyedia OIDC, pengguna sistem masuk tunggal independen dapat memberikan kredensional yang ada sementara aplikasi Anda menerima token OIDC dalam format bersama kumpulan pengguna. Untuk mengonfigurasi IDC IdP, atur IdP Anda untuk menangani kumpulan pengguna Anda sebagai RP dan konfigurasikan aplikasi Anda untuk menangani kumpulan pengguna Anda sebagai IdP. Amazon Cognito berfungsi sebagai langkah perantara antara beberapa OIDC IdPs dan aplikasi Anda. Kumpulan pengguna Anda menerapkan aturan pemetaan atribut ke klaim di ID dan token akses yang diberikan penyedia Anda langsung ke kumpulan pengguna Anda. Amazon Cognito kemudian mengeluarkan token baru berdasarkan atribut pengguna yang dipetakan dan penyesuaian tambahan apa pun yang telah Anda buat pada aliran otentikasi dengan pemicu Lambda.

Pengguna yang masuk dengan IDP OIDC tidak diharuskan memberikan kredenSIAL atau informasi baru untuk mengakses aplikasi kumpulan pengguna Anda. Aplikasi Anda dapat secara diam-diam mengarahkan mereka ke IdP mereka untuk masuk, dengan kumpulan pengguna sebagai alat di latar belakang yang menstandarkan format token untuk aplikasi Anda. Untuk mempelajari selengkapnya tentang pengalihan IdP, lihat. Otorisasi titik akhir

Seperti penyedia identitas pihak ketiga lainnya, Anda harus mendaftarkan aplikasi Anda dengan penyedia OIDC dan mendapatkan informasi tentang aplikasi IdP yang ingin Anda sambungkan ke kumpulan pengguna Anda. IDP OIDC kumpulan pengguna memerlukan ID klien, rahasia klien, cakupan yang ingin Anda minta, dan informasi tentang titik akhir layanan penyedia. Kumpulan pengguna Anda dapat menemukan titik akhir OIDC penyedia dari titik akhir penemuan atau Anda dapat memasukkannya secara manual. Anda juga harus memeriksa token ID penyedia dan membuat pemetaan atribut antara IdP dan atribut di kumpulan pengguna Anda.

Alur autentikasi IdP OIDC kolam pengguna

Lihat Aliran otentikasi IdP kumpulan pengguna OIDC untuk detail selengkapnya tentang alur otentikasi ini.

catatan

Sign-in melalui pihak ketiga (federasi) tersedia di kumpulan pengguna Amazon Cognito. Fitur ini independen dari federasi OIDC dengan kumpulan identitas Amazon Cognito.

Anda dapat menambahkan IDP OIDC ke kumpulan pengguna Anda di Konsol Manajemen AWS, melalui AWS CLI, atau dengan metode API kumpulan pengguna. CreateIdentityProvider

Prasyarat

Sebelum memulai, Anda perlu melakukan hal berikut:

  • Kumpulan pengguna dengan klien aplikasi dan domain kumpulan pengguna. Untuk informasi selengkapnya, lihat Membuat kolam pengguna.

  • IDP OIDC dengan konfigurasi berikut:

    • Mendukung otentikasi client_secret_post klien. Amazon Cognito tidak memeriksa token_endpoint_auth_methods_supported klaim di titik akhir penemuan OIDC untuk IdP Anda. Amazon Cognito tidak mendukung otentikasi client_secret_basic klien. Untuk informasi selengkapnya tentang otentikasi klien, lihat O tentikasi Klien di dokumentasi OpenID Connect.

    • Hanya menggunakan HTTPS untuk titik akhir OIDC sepertiopenid_configuration,userInfo, dan. jwks_uri

    • Hanya menggunakan port TCP 80 dan 443 untuk titik akhir OIDC.

    • Hanya menandatangani token ID dengan algorit HMAC-SHA ma, ECDSA, atau RSA.

    • Menerbitkan kid klaim ID kunci di its jwks_uri dan menyertakan kid klaim dalam tokennya.

    • Menyajikan kunci publik yang tidak kedaluwarsa dengan rantai kepercayaan CA root yang valid.

Daftarkan aplikasi dengan IDC IdP

Sebelum menambahkan IDP OIDC ke konfigurasi kumpulan pengguna dan menetapkannya ke klien aplikasi, Anda menyiapkan aplikasi klien OIDC di IdP Anda. Kumpulan pengguna Anda adalah aplikasi pihak relying-party yang akan mengelola otentikasi dengan IdP Anda.

Untuk mendaftar dengan IdP OIDC
  1. Buat akun developer dengan IdP OIDC.

    Tautan ke OIDC IdPs
    IdP OIDC Cara Menginstal URL Penemuan OIDC
    Salesforce

    Salesforce sebagai Penyedia Identitas OpenID Connect

    https://MyDomainName.my.salesforce.com/.well-known/openid-configuration

    OneLogin Hubungkan aplikasi yang diaktifkan OIDC

    https://your-domain.onelogin.com/oidc/2/.well-known/openid-configuration

    JumpCloud SSO dengan OIDC

    https://oauth.id.jumpcloud.com/.well-known/openid-configuration

    Okta

    Instal penyedia identitas Okta

    https://Your Okta subdomain.okta.com/.well-known/openid-configuration

    Microsoft Entry ID

    OpenID Connect pada platform identitas Microsoft

    https://login.microsoftonline.com/{tenant}/v2.0

    Nilai tenant dapat mencakup ID penyewa,common,organizations, atauconsumers.

  2. Daftarkan URL domain kumpulan pengguna Anda dengan /oauth2/idpresponse titik akhir dengan IDP OIDC Anda. Hal ini memastikan bahwa IdP OIDC nanti menerimanya dari Amazon Cognito ketika mengautentikasi pengguna.

    https://mydomain.auth.us-east-1.amazoncognito.com/oauth2/idpresponse
  3. Pilih cak upan yang Anda ingin direktori pengguna Anda bagikan dengan kumpulan pengguna Anda. Cakupan openid diperlukan untuk OIDC IdPs untuk menawarkan informasi pengguna apa pun. Ruang email lingkup diperlukan untuk memberikan akses ke email_verified klaim email dan. Cakupan tambahan dalam spesifikasi OIDC adalah profile untuk semua atribut pengguna dan phone untuk phone_number danphone_number_verified.

  4. IdP OIDC memberi Anda ID klien dan rahasia klien. Perhatikan nilai-nilai ini dan tambahkan ke konfigurasi IDC IdP yang Anda tambahkan ke kumpulan pengguna nanti.

Contoh: Gunakan Salesforce sebagai IdP OIDC dengan kolam pengguna Anda

Anda menggunakan IDP OIDC ketika Anda ingin membangun kepercayaan antara OIDC-compatible IdP seperti Salesforce dan kumpulan pengguna Anda.

  1. Buat akun di situs web Developer Salesforce.

  2. Masuk melalui akun developer yang Anda siapkan di langkah sebelumnya.

  3. Dari halaman Salesforce Anda, lakukan salah satu hal berikut:

    • Jika Anda menggunakan Lightning Experience, pilih ikon roda gigi pengaturan, lalu pilih Setup Home.

    • Jika Anda menggunakan Salesforce Classic dan Anda melihat Penyiapan di header antarmuka pengguna, pilih itu.

    • Jika Anda menggunakan Salesforce Classic dan Anda tidak melihat Penyiapan di header, pilih nama Anda dari bilah navigasi atas, lalu pilih Penyiapan dari daftar tarik-turun.

  4. Di bilah navigasi kiri, pilih Pengaturan Perusahaan.

  5. Pada bilah navigasi, pilih Domain, masukkan domain, dan pilih Buat.

  6. Di bilah navigasi kiri, di bawah Platform Tools, pilih Apps.

  7. Pilih Pengelola Aplikasi.

    1. Pilih Aplikasi baru yang terhubung.

    2. Lengkapi kolom yang diperlukan.

      Di bawah URL Mulai, masukkan URL di /authorize titik akhir untuk domain kumpulan pengguna yang masuk dengan IdP Salesforce Anda. Saat pengguna mengakses aplikasi yang terhubung, Salesforce mengarahkan mereka ke URL ini untuk menyelesaikan proses masuk. Kemudian Salesforce mengalihkan pengguna ke URL panggilan balik yang telah Anda kaitkan dengan klien aplikasi Anda.

      https://mydomain.auth.us-east-1.amazoncognito.com/authorize?response_type=code&client_id=<your_client_id>&redirect_uri=https://www.example.com&identity_provider=CorpSalesforce
    3. Akti fkan pengaturan OAuth dan masukkan URL /oauth2/idpresponse titik akhir untuk domain kumpulan pengguna Anda di URL Pang gilan Balik. Ini adalah URL tempat Salesforce mengeluarkan kode otorisasi yang ditukar Amazon Cognito dengan token OAuth.

      https://mydomain.auth.us-east-1.amazoncognito.com/oauth2/idpresponse
  8. Pilih cakupan Anda. Anda harus menyertakan cakupan openid. Untuk memberikan akses ke klaim email dan email_verificated, tambahkan cakupan email. Pisahkan cakupan dengan spasi.

  9. Pilih Buat.

    Dalam Salesforce, ID klien disebut Kunci Konsumen, dan rahasia klien adalah Rahasia Konsumen. Perhatikan ID klien dan rahasia klien Anda. Anda akan menggunakannya di bagian selanjutnya.

Menambahkan IDP OIDC ke kumpulan pengguna

Setelah menyiapkan IdP, Anda dapat mengonfigurasi kumpulan pengguna untuk menangani permintaan otentikasi dengan IDP OIDC.

Amazon Cognito console
Tambahkan IDC IdP di konsol
  1. Masuk ke Konsol Amazon Cognito. Jika diminta, masukkan AWS kredensi Anda.

  2. Pilih Kumpulan Pengguna dari menu navigasi.

  3. Pilih kolam pengguna yang ada dari daftar, atau buat kolam pengguna.

  4. Pilih menu Penyedia sosial dan eksternal, lalu pilih Tambahkan penyedia identitas.

  5. Pilih OpenID Connect IdP.

  6. Masukkan nama Penyedia yang unik.

  7. Masukkan ID Klien IdP. Ini adalah ID klien aplikasi yang Anda buat di IDC IdP Anda. ID klien yang Anda berikan harus berupa penyedia OIDC yang telah Anda konfigurasikan dengan url panggilan balik. https://[your user pool domain]/oauth2/idpresponse

  8. Masukkan rahasia Klien IdP. Ini harus menjadi rahasia klien untuk klien aplikasi yang sama dari langkah sebelumnya.

  9. Masukkan cakupan resmi untuk penyedia ini. Cakupan menentukan grup atribut pengguna (seperti name danemail) yang akan diminta aplikasi Anda dari penyedia Anda. Cakupan harus dipisahkan oleh spasi, mengikuti spesifikasi OAuth 2.0.

    IdP Anda mungkin meminta pengguna untuk menyetujui untuk memberikan atribut ini ke aplikasi Anda saat mereka masuk.

  10. Pilih metode permintaan atribut. IdPsmungkin mengharuskan permintaan ke userInfo titik akhir mereka diformat sebagai salah satu GET atauPOST. Titik akhir Amazon C userInfo ognito memerlukan HTTP GET permintaan, misalnya.

  11. Pilih metode Pengaturan untuk cara kumpulan pengguna Anda menentukan jalur ke OIDC-federation titik akhir utama di IdP Anda. Biasanya, IdPs host titik /well-known/openid-configuration akhir di URL dasar penerbit. Jika ini terjadi pada penyedia Anda, opsi Isi otomatis melalui URL penerbit meminta Anda untuk URL dasar tersebut, mencoba mengakses /well-known/openid-configuration jalur dari sana, dan membaca titik akhir yang tercantum di sana. Anda mungkin memiliki jalur titik akhir non-tipikal atau ingin meneruskan permintaan ke satu atau lebih titik akhir melalui proxy alternatif. Dalam hal ini, pilih Input manual dan tentukan jalur untukauthorization,, tokenuserInfo, dan jwks_uri titik akhir.

    catatan

    URL harus dimulai dengan https://, dan tidak boleh diakhiri dengan garis miring /. Hanya nomor port 443 dan 80 yang dapat digunakan dengan URL ini. Misalnya, Salesforce menggunakan URL ini:

    https://login.salesforce.com

    Jika Anda memilih pengisian otomatis, dokumen penemuan harus menggunakan HTTPS untuk nilai-nilai berikut:authorization_endpoint,token_endpoint,userinfo_endpoint, danjwks_uri. Jika tidak, login akan gagal.

  12. Konfigurasikan aturan pemetaan atribut Anda di bawah Atribut peta antara penyedia OpenID Connect dan kumpulan pengguna Anda. Atribut kumpulan pengguna adalah atribut tujuan di profil pengguna Amazon Cognito dan atribut OpenID Connect adalah atribut sumber yang Anda ingin Amazon Cognito temukan dalam ID-token klaim atau respons. userInfo Amazon Cognito secara otomatis memetakan sub klaim OIDC ke username profil pengguna tujuan.

    Untuk informasi selengkapnya, lihat Memetakan atribut IdP ke profil dan token.

  13. Pilih Tambahkan penyedia identitas.

  14. Dari menu Klien aplikasi, pilih klien aplikasi dari daftar. Arahkan ke tab Halaman masuk dan di bawah Konfigurasi halaman login terkelola, pilih Edit. Cari penyedia Identitas dan tambahkan IDP OIDC baru Anda.

  15. Pilih Simpan perubahan.

API/CLI

Lihat konfigurasi OIDC dalam contoh dua di CreateIdentityProvider. Anda dapat memodifikasi sintaks ini dan menggunakannya sebagai badan permintaanCreateIdentityProvider,UpdateIdentityProvider, atau file --cli-input-json input untuk create- identity-provider.

Menguji konfigurasi IDC IdP

Dalam aplikasi Anda, Anda harus memanggil browser di klien pengguna sehingga mereka dapat masuk dengan penyedia OIDC mereka. Uji login dengan penyedia Anda setelah Anda menyelesaikan prosedur penyiapan di bagian sebelumnya. URL contoh berikut memuat halaman masuk untuk kumpulan pengguna Anda dengan domain awalan.

https://mydomain.auth.us-east-1.amazoncognito.com/oauth2/authorize?response_type=code&client_id=1example23456789&redirect_uri=https://www.example.com

Tautan ini adalah halaman yang diarahkan Amazon Cognito ketika Anda membuka menu Klien aplikasi, pilih klien aplikasi, navigasikan ke tab Halaman masuk, dan pilih Lihat halaman login. Untuk informasi selengkapnya tentang domain kumpulan pengguna, lihatMengkonfigurasi domain kumpulan pengguna. Untuk informasi selengkapnya tentang klien aplikasi, termasuk ID klien dan URL panggilan balik, lihatPengaturan khusus aplikasi dengan klien aplikasi.

Contoh tautan berikut mengatur pengalihan diam ke MyOIDCIdP penyedia dari parameter Otorisasi titik akhir dengan identity_provider kueri. URL ini melewati login kumpulan pengguna interaktif dengan login terkelola dan langsung menuju ke halaman masuk IdP.

https://mydomain.auth.us-east-1.amazoncognito.com/oauth2/authorize?identity_provider=MyOIDCIdP&response_type=code&client_id=1example23456789&redirect_uri=https://www.example.com