Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Segarkan token
Anda dapat menggunakan token refresh untuk mengambil ID baru dan token akses. Secara default, token refresh kedaluwarsa 30 hari setelah pengguna aplikasi Anda masuk ke kolam pengguna Anda. Ketika Anda membuat aplikasi untuk kolam pengguna Anda, Anda dapat mengatur aplikasi refresh token kedaluwarsa untuk setiap nilai antara 60 menit dan 10 tahun.
Mendapatkan akses baru dan token identitas dengan token penyegaran
Amazon Cognito mengeluarkan token refresh sebagai respons terhadap otentikasi yang berhasil dengan alur kode otorisasi login terkelola dan dengan operasi API atau metode SDK. Token penyegaran mengembalikan ID baru dan token akses, dan secara opsional token penyegaran baru. Anda dapat menggunakan token penyegaran dengan cara berikut.
- GetTokensFromRefreshToken
-
Operasi GetTokensFromRefreshTokenAPI mengeluarkan ID baru dan token akses dari token penyegaran yang valid. Anda juga mendapatkan token penyegaran baru jika Anda telah mengaktifkan rotasi token penyegaran.
- InitiateAuth dan AdminitiateAuth
-
Operasi AdminInitiateAuthatau InitiateAuthAPI menyertakan alur
REFRESH_TOKEN_AUTH
otentikasi. Dalam alur ini, Anda meneruskan token penyegaran dan mendapatkan ID baru dan token akses. Anda tidak dapat mengautentikasi dengan klienREFRESH_TOKEN_AUTH
di aplikasi dengan mengaktifkan rotasi token penyegaran. - OAuth titik akhir token
-
Titik akhir token di kumpulan pengguna dengan domain memiliki jenis
refresh_token
hibah yang mengeluarkan ID baru, akses, dan secara opsional (dengan rotasi token penyegaran) menyegarkan token dari token penyegaran yang valid.
Segarkan rotasi token
Dengan rotasi token refresh, Anda dapat mengonfigurasi kumpulan pengguna secara opsional untuk membatalkan token penyegaran asli dan mengeluarkan token penyegaran baru dengan setiap penyegaran token. Saat pengaturan ini diaktifkan, setiap permintaan yang berhasil dalam semua bentuk penyegaran token mengembalikan ID baru, akses, dan token penyegaran. Token penyegaran baru berlaku untuk sisa durasi token penyegaran asli. Anda dapat mengonfigurasi klien aplikasi untuk memutar token penyegaran atau untuk membawa token penyegaran asli. Untuk memungkinkan percobaan ulang untuk durasi singkat, Anda juga dapat mengonfigurasi masa tenggang untuk token penyegaran asli hingga 60 detik.
Hal-hal yang perlu diketahui tentang rotasi token refresh
-
Setelah Anda mengaktifkan rotasi token refresh, klaim baru ditambahkan dalam token web JSON dari kumpulan pengguna Anda. Klaim
origin_jti
danjti
ditambahkan ke token akses dan ID. Klaim ini meningkatkan ukuran JWTs. -
Segarkan rotasi token tidak kompatibel dengan alur
REFRESH_TOKEN_AUTH
otentikasi. Untuk menerapkan rotasi token refresh, Anda harus menonaktifkan alur autentikasi ini di klien aplikasi Anda dan merancang aplikasi Anda untuk mengirimkan permintaan token-refresh dengan operasi GetTokensFromRefreshTokenAPI atau metode SDK yang setara. -
Dengan rotasi token refresh tidak aktif, Anda dapat menyelesaikan permintaan penyegaran token dengan salah satu atau.
GetTokensFromRefreshToken
REFRESH_TOKEN_AUTH
-
Saat mengingat perangkat aktif di kumpulan pengguna, Anda harus memberikan kunci perangkat dalam
GetTokensFromRefreshToken
permintaan. Jika pengguna Anda tidak memiliki kunci perangkat terkonfirmasi yang dikirimkan aplikasi Anda dalam permintaan autentikasi awal, Amazon Cognito mengeluarkan yang baru. Untuk menyegarkan token dalam konfigurasi ini, Anda harus memberikan kunci perangkat, baik yang Anda tentukanAuthParameters
atau menerima yang baru dalam respons otentikasi. -
Anda dapat meneruskan
ClientMetadata
ke pemicu Lambda pembuatan token pra dalam permintaan AndaGetTokensFromRefreshToken
. Data ini, yang diteruskan ke peristiwa input untuk pemicu Anda, memberikan konteks tambahan yang dapat Anda gunakan dalam logika khusus fungsi Lambda Anda.
Sebagai praktik keamanan terbaik, aktifkan rotasi token refresh pada klien aplikasi Anda.
Penyegaran token API dan SDK
Ada dua cara untuk menggunakan token penyegaran untuk mendapatkan ID baru dan token akses dengan API kumpulan pengguna, tergantung pada apakah rotasi token refresh aktif. Di klien aplikasi dengan rotasi token refresh aktif, gunakan operasi GetTokensFromRefreshTokenAPI. Di klien aplikasi tanpa rotasi token refresh, gunakan REFRESH_TOKEN_AUTH
alur operasi AdminInitiateAuthatau InitiateAuthAPI.
catatan
Pengguna dapat melakukan autentikasi dengan kumpulan pengguna di login terkelola atau dalam aplikasi khusus yang Anda buat AWS SDKs dan operasi Amazon Cognito API. REFRESH_TOKEN_AUTH
Alur dan keduanya GetTokensFromRefreshToken
dapat menyelesaikan penyegaran token untuk pengguna login terkelola. Penyegaran token dalam aplikasi khusus tidak memengaruhi sesi login terkelola. Sesi ini diatur dalam cookie browser dan berlaku selama satu jam. GetTokensFromRefreshToken
Respons mengeluarkan ID baru, akses, dan token penyegaran opsional, tetapi tidak memperbarui cookie sesi login terkelola.
REFRESH_TOKEN_AUTH
tidak tersedia di klien aplikasi dengan rotasi token refresh diaktifkan.
OAuth penyegaran token
Anda juga dapat mengirimkan token penyegaran ke Titik akhir token dalam kumpulan pengguna tempat Anda telah mengonfigurasi domain. Di badan permintaan, sertakan grant_type
nilai refresh_token
dan refresh_token
nilai token penyegaran pengguna Anda.
Permintaan ke titik akhir token tersedia di klien aplikasi dengan rotasi token refresh aktif dan yang tidak aktif. Saat rotasi token refresh aktif, titik akhir token mengembalikan token penyegaran baru.
Berikut ini adalah contoh permintaan dengan token penyegaran.
POST /oauth2/token HTTP/1.1 Host:
auth.example.com
Content-Type: application/x-www-form-urlencoded Authorization: BasicZGpjOTh1M2ppZWRtaTI4M2V1OTI4OmFiY2RlZjAxMjM0NTY3ODkw
Content-Length: ** client_id=1example23456789
&grant_type=refresh_token&refresh_token=eyJjd123abcEXAMPLE
Mencabut token penyegaran
Anda dapat mencabuttokenrefresh milik pengguna. Untuk informasi selengkapnya tentang pencabutan token, lihat. Mengakhiri sesi pengguna dengan pencabutan token
catatan
Mencabut token penyegaran akan mencabut semua ID dan token akses yang dikeluarkan Amazon Cognito dari permintaan penyegaran dengan token itu.
Untuk mengeluarkan pengguna dari semua sesi masuk saat ini, cabut semua token mereka dengan atau permintaan API. GlobalSignOutAdminUserGlobalSignOut Setelah pengguna keluar, efek berikut terjadi.
-
Token penyegaran pengguna tidak bisa mendapatkan token baru untuk pengguna.
-
Token akses pengguna tidak dapat membuat permintaan API yang diotorisasi token.
-
Pengguna harus mengautentikasi ulang untuk mendapatkan token baru. Karena cookie sesi login terkelola tidak kedaluwarsa secara otomatis, pengguna Anda dapat mengautentikasi ulang dengan cookie sesi, tanpa permintaan tambahan untuk kredensil. Setelah Anda mengeluarkan pengguna login terkelola, arahkan mereka keTitik akhir logout, tempat Amazon Cognito menghapus cookie sesi mereka.
Dengan token penyegaran, Anda dapat mempertahankan sesi pengguna di aplikasi Anda untuk waktu yang lama. Seiring waktu, pengguna Anda mungkin ingin membatalkan otorisasi beberapa aplikasi di mana mereka tetap masuk dengan token penyegaran mereka. Untuk mengeluarkan pengguna Anda dari satu sesi, cabut token penyegaran mereka. Saat pengguna Anda ingin keluar dari semua sesi yang diautentikasi, buat permintaan GlobalSignOutAPI. Aplikasi Anda dapat memberi pengguna pilihan seperti Keluar dari semua perangkat. GlobalSignOut
menerima token akses pengguna yang valid—tidak berubah, belum kedaluwarsa, tidak dicabut—. Karena API ini diberi otorisasi token, satu pengguna tidak dapat menggunakannya untuk memulai keluar untuk pengguna lain.
Namun, Anda dapat membuat permintaan AdminUserGlobalSignOutAPI yang Anda otorisasi dengan AWS kredensialnya untuk mengeluarkan pengguna mana pun dari semua perangkat mereka. Aplikasi administrator harus memanggil operasi API ini dengan kredensi AWS pengembang dan meneruskan ID kumpulan pengguna dan nama pengguna pengguna sebagai parameter. API AdminUserGlobalSignOut
dapat mengeluarkan setiap pengguna di kolam pengguna.
Untuk informasi selengkapnya tentang permintaan yang dapat Anda otorisasi dengan AWS kredensi atau token akses pengguna, lihat. Daftar operasi API yang dikelompokkan berdasarkan model otorisasi