Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Atribut pengguna endpoint
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. Saat 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 selama memegang token akses yang valid dengan setidaknya klaim openid cakupan.
Titik userInfo akhir adalah titik akhir UserInfo OpenID Connect (OIDCopenid lingkup harus menjadi salah satu klaim token akses.
Amazon Cognito mengeluarkan token akses sebagai respons terhadap permintaan API kumpulan pengguna seperti. InitiateAuth Karena tidak mengandung cakupan apa pun, userInfo titik akhir tidak menerima token akses ini. Sebagai gantinya, Anda harus menunjukkan token akses dari titik akhir token Anda.
Penyedia identitas pihak ketiga OAuth 2.0 (iDP) Anda juga menghosting titik akhir. userInfo Saat pengguna Anda mengautentikasi dengan IDP tersebut, Amazon Cognito secara diam-diam menukar kode otorisasi dengan endpoint 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 dipesan tidak aws.cognito.signin.user.admin berpengaruh pada data yang dikembalikan dari titik akhir ini.
Contoh cakupan dalam token akses dan pengaruhnya terhadap respons userInfo
openid-
Mengembalikan respons dengan semua atribut pengguna yang dapat dibaca 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 kustom. Di klien aplikasi yang tidak memiliki akses baca ke setiap atribut, respons terhadap cakupan ini adalah semua atribut dalam spesifikasi yang dapat diakses oleh klien aplikasi Anda. openid email-
Mengembalikan informasi profil dasar
emaildan danemail_verifiedatribut. openid phone-
Mengembalikan informasi profil dasar
phone_numberdan danphone_number_verifiedatribut.
GET /oauth2/userInfo
Aplikasi Anda menghasilkan permintaan ke titik akhir ini secara langsung, bukan melalui browser.
Untuk informasi selengkapnya, lihat UserInfoEndpoint
Minta parameter di header
Authorization: Bearer<access_token>-
Lulus token akses di bidang header otorisasi.
Diperlukan.
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 Standaremail_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, termasuk nilai parameter yang tidak didukung, atau jika tidak, 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.