Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Titik akhir atribut pengguna
Jika OIDC mengeluarkan token ID yang berisi atribut pengguna, OAuth 2.0 mengimplementasikan titik akhir. /oauth2/userInfo Pengguna atau klien yang diautentikasi menerima token akses dengan scopes klaim. Klaim ini menentukan atribut yang harus dikembalikan oleh server otorisasi. Ketika aplikasi menyajikan token akses ke userInfo titik akhir, server otorisasi mengembalikan badan respons yang berisi atribut pengguna yang berada dalam batas yang ditetapkan oleh cakupan token akses. Aplikasi Anda dapat mengambil informasi tentang pengguna dari userInfo titik akhir asalkan memegang token akses yang valid dengan setidaknya klaim openid cakupan.
Titik userInfo akhir adalah titik akhir UserInfo OpenID Connect (OIDC). openid akupan harus menjadi salah satu klaim token akses.
Amazon Cognito mengeluarkan token akses sebagai tanggapan atas permintaan API kumpulan pengguna seperti InitiateAuth. Karena tidak berisi cakupan apa pun, userInfo titik akhir tidak menerima token akses ini. Sebagai gantinya, Anda harus menyajikan token akses dari titik akhir token Anda.
Penyedia identitas pihak ketiga (IdP) OAuth 2.0 Anda juga menghosting titik akhir. userInfo Saat pengguna Anda melakukan otentikasi dengan IdP tersebut, Amazon Cognito secara diam-diam menukar kode otorisasi dengan titik akhir IdP. token Kumpulan pengguna Anda meneruskan token akses IdP untuk mengotorisasi pengambilan informasi pengguna dari titik akhir IdP. userInfo
Cakupan dalam token akses pengguna ditentukan oleh parameter scopes permintaan dalam permintaan otentikasi, atau cakupan yang ditambahkan oleh pemicu Lambda generasi pra-token. Anda dapat memecahkan kode token akses dan memeriksa scope klaim untuk melihat cakupan kontrol akses yang dikandungnya. Berikut ini adalah beberapa kombinasi lingkup yang mempengaruhi data yang dikembalikan dari userInfo titik akhir. Cakupan Amazon Cognito yang dic aws.cognito.signin.user.admin adangkan tidak berpengaruh pada data yang dikembalikan dari titik akhir ini.
Contoh cakupan dalam token akses dan pengaruhnya terhadap respons U serInfo
openid-
Mengembalikan respons dengan semua atribut pengguna yang dapat dibaca oleh klien aplikasi.
openid profile-
Mengembalikan atribut pengguna
namefamily_name,given_name,middle_name,nickname,preferred_username,,profile,picture,website,gender,birthdate,zoneinfo,locale, danupdated_at. Juga mengembalikan atribut khusus. Di klien aplikasi yang tidak memiliki akses baca ke setiap atribut, respons terhadap cakupan ini adalah semua atribut dalam spesifikasi yang memiliki akses baca klien aplikasi Anda. openid email-
Mengembalikan informasi profil dasar
emaildanemail_verifiedatribut dan. openid phone-
Mengembalikan informasi profil dasar
phone_numberdanphone_number_verifiedatribut dan.
DAPATKAN/oauth2/userInfo
Aplikasi Anda menghasilkan permintaan ke titik akhir ini secara langsung, bukan melalui browser.
Untuk informasi selengkapnya, lihat UserInfo Endpoint
Meminta parameter di header
Authorization: Bearer<access_token>-
Berikan token akses di bidang header otorisasi.
Wajib.
Contoh - permintaan
GET /oauth2/userInfo HTTP/1.1 Content-Type: application/x-amz-json-1.1 Authorization: Bearer eyJra12345EXAMPLE User-Agent:[User agent]Accept: */* Host: auth.example.com Accept-Encoding: gzip, deflate, br Connection: keep-alive
Contoh — respon positif
HTTP/1.1 200 OK Content-Type: application/json;charset=UTF-8 Content-Length:[Integer]Date:[Timestamp]x-amz-cognito-request-id:[UUID]X-Content-Type-Options: nosniff X-XSS-Protection: 1; mode=block Cache-Control: no-cache, no-store, max-age=0, must-revalidate Pragma: no-cache Expires: 0 Strict-Transport-Security: max-age=31536000 ; includeSubDomains X-Frame-Options: DENY Server: Server Connection: keep-alive { "sub": "[UUID]", "email_verified": "true", "custom:mycustom1": "CustomValue", "phone_number_verified": "true", "phone_number": "+12065551212", "email": "bob@example.com", "username": "bob" }
Untuk daftar klaim OIDC, lihat Klaim http://openid.net/specs/openid-connect-core-1_0.html#StandardClaimsemail_verified dan phone_number_verified sebagai string.
Contoh tanggapan negatif
Contoh - permintaan buruk
HTTP/1.1 400 Bad Request
WWW-Authenticate: error="invalid_request",
error_description="Bad OAuth2 request at UserInfo Endpoint"
invalid_request-
Permintaan tidak memiliki parameter yang diperlukan, itu termasuk nilai parameter yang tidak didukung, atau sebaliknya salah bentuk.
Contoh — token buruk
HTTP/1.1 401 Unauthorized
WWW-Authenticate: error="invalid_token",
error_description="Access token is expired, disabled, or deleted, or the user has globally signed out."
invalid_token-
Token akses kedaluwarsa, dicabut, cacat, atau tidak valid.