Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Menggunakan token ID
Token ID adalah Token JSON Web (JWT)name
,email
, danphone_number
. Anda dapat menggunakan informasi identitas ini dalam aplikasi Anda. Token ID juga dapat digunakan untuk mengautentikasi pengguna ke server sumber daya atau aplikasi server Anda. Anda juga dapat menggunakan token ID di luar aplikasi dengan API operasi web Anda. Dalam kasus tersebut, Anda harus memverifikasi tanda tangan token ID sebelum Anda dapat mempercayai klaim apa pun di dalam token ID. Lihat Memverifikasi Token JSON Web.
Anda dapat mengatur token ID kedaluwarsa ke nilai apa pun antara 5 menit dan 1 hari. Anda dapat menetapkan nilai ini per klien aplikasi.
penting
Saat pengguna Anda masuk dengan UI yang dihosting atau penyedia identitas gabungan (iDP), Amazon Cognito menetapkan cookie sesi yang berlaku selama 1 jam. Jika Anda menggunakan UI atau federasi yang dihosting, dan menentukan durasi minimum kurang dari 1 jam untuk akses dan token ID Anda, pengguna Anda akan tetap memiliki sesi yang valid hingga cookie kedaluwarsa. Jika pengguna memiliki token yang kedaluwarsa selama sesi satu jam, pengguna dapat menyegarkan token mereka tanpa perlu mengautentikasi ulang.
Header Token ID
Header berisi dua lembar informasi: ID kunci (kid
), dan algoritme (alg
).
{ "kid" : "1234example=", "alg" : "RS256" }
kid
-
ID kunci. Nilainya menunjukkan kunci yang digunakan untuk mengamankan Tanda Tangan JSON Web (JWS) token. Anda dapat melihat kunci penandatanganan kumpulan pengguna IDs di
jwks_uri
titik akhir.Untuk informasi selengkapnya tentang
kid
parameter, lihat parameter header Key identifier (kid). alg
-
Algoritma kriptografi yang digunakan Amazon Cognito untuk mengamankan token akses. Kumpulan pengguna menggunakan algoritma RS256 kriptografi, yang merupakan RSA tanda tangan dengan SHA -256.
Untuk informasi selengkapnya tentang
alg
parameter, lihat Parameter header Algorithm (alg).
Muatan default token ID
Ini adalah contoh payload dari token ID. Ini berisi klaim tentang pengguna yang diautentikasi. Untuk informasi selengkapnya tentang klaim standar OpenID Connect (OIDC), lihat daftar klaim OIDCstandar
<header>
.{ "sub": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee", "cognito:groups": [ "test-group-a", "test-group-b", "test-group-c" ], "email_verified": true, "cognito:preferred_role": "arn:aws:iam::111122223333:role/my-test-role", "iss": "https://cognito-idp.us-west-2.amazonaws.com/us-west-2_example", "cognito:username": "my-test-user", "middle_name": "Jane", "nonce": "abcdefg", "origin_jti": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee", "cognito:roles": [ "arn:aws:iam::111122223333:role/my-test-role" ], "aud": "xxxxxxxxxxxxexample", "identities": [ { "userId": "amzn1.account.EXAMPLE", "providerName": "LoginWithAmazon", "providerType": "LoginWithAmazon", "issuer": null, "primary": "true", "dateCreated": "1642699117273" } ], "event_id": "64f513be-32db-42b0-b78e-b02127b4f463", "token_use": "id", "auth_time": 1676312777, "exp": 1676316377, "iat": 1676312777, "jti": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee", "email": "my-test-user@example.com" } .<token signature>
sub
-
Pengenal unik (UUID), atau subjek, untuk pengguna yang diautentikasi. Nama pengguna mungkin tidak unik di kumpulan pengguna Anda.
sub
Klaim adalah cara terbaik untuk mengidentifikasi pengguna tertentu. cognito:groups
-
Array nama grup kumpulan pengguna yang memiliki pengguna Anda sebagai anggota. Grup dapat berupa pengenal yang ditampilkan ke aplikasi, atau mereka dapat membuat permintaan untuk IAM peran pilihan dari kumpulan identitas.
cognito:preferred_role
-
ARNIAMPeran yang Anda kaitkan dengan grup kumpulan pengguna prioritas tertinggi pengguna Anda. Untuk informasi selengkapnya tentang cara kumpulan pengguna memilih klaim peran ini, lihatMenetapkan nilai prioritas ke grup.
iss
-
Penyedia identitas yang mengeluarkan token. Klaim memiliki format berikut.
https://cognito-idp.
<Region>
.amazonaws.com/<your user pool ID>
cognito:username
-
Nama pengguna pengguna Anda di kolam pengguna Anda.
nonce
-
nonce
Klaim berasal dari parameter dengan nama yang sama yang dapat Anda tambahkan ke permintaan keauthorize
titik akhir OAuth 2.0 Anda. Saat Anda menambahkan parameter,nonce
klaim disertakan dalam token ID yang dikeluarkan Amazon Cognito, dan Anda dapat menggunakannya untuk mencegah serangan replay. Jika Anda tidak memberikannonce
nilai dalam permintaan Anda, Amazon Cognito secara otomatis membuat dan memvalidasi nonce saat Anda mengautentikasi melalui penyedia identitas pihak ketiga, lalu menambahkannya sebagainonce
klaim ke token ID. Implementasinonce
klaim di Amazon Cognito didasarkan pada OIDC standar. origin_jti
-
Pengidentifikasi pencabutan token yang terkait dengan token penyegaran pengguna Anda. Amazon Cognito mereferensikan
origin_jti
klaim ketika memeriksa apakah Anda mencabut token pengguna Anda dengan Cabut titik akhir atau operasi. RevokeTokenAPI Saat Anda mencabut token, Amazon Cognito membatalkan semua token akses dan ID dengan nilai yang sama.origin_jti
cognito:roles
-
Array nama IAM peran yang terkait dengan grup pengguna Anda. Setiap grup kumpulan pengguna dapat memiliki satu IAM peran yang terkait dengannya. Array ini mewakili semua IAM peran untuk grup pengguna Anda, terlepas dari prioritas. Untuk informasi selengkapnya, lihat Menambahkan grup ke kumpulan pengguna.
aud
-
Klien aplikasi kumpulan pengguna yang mengautentikasi pengguna Anda. Amazon Cognito memberikan nilai yang sama dalam klaim token akses.
client_id
identities
-
Isi
identities
atribut pengguna. Atribut berisi informasi tentang setiap profil penyedia identitas pihak ketiga yang telah Anda tautkan ke pengguna, baik dengan login federasi atau dengan menautkan pengguna federasi ke profil lokal. Informasi ini berisi nama penyedia mereka, ID unik penyedia mereka, dan metadata lainnya. token_use
-
Tujuan token yang dimaksudkan. Dalam token ID, nilainya adalah
id
. auth_time
-
Waktu otentikasi, dalam format waktu Unix, bahwa pengguna Anda menyelesaikan otentikasi.
exp
-
Waktu kedaluwarsa, dalam format waktu Unix, token pengguna Anda kedaluwarsa.
iat
-
Waktu yang dikeluarkan, dalam format waktu Unix, Amazon Cognito mengeluarkan token pengguna Anda.
jti
-
Pengidentifikasi unik dari. JWT
Token ID dapat berisi klaim OIDC standar yang didefinisikan dalam klaim OIDC standar
catatan
Atribut kustom kumpulan pengguna selalu diawali dengancustom:
.
Tanda Tangan Token ID
Tanda tangan token ID dihitung berdasarkan header dan payload JWT token. Sebelum Anda menerima klaim dalam token ID apa pun yang diterima aplikasi Anda, verifikasi tanda tangan token tersebut. Untuk informasi selengkapnya, lihat Memverifikasi Token JSON Web. Memverifikasi Token JSON Web.