Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Bekerja dengan perangkat pengguna di kumpulan pengguna Anda
Saat Anda masuk pengguna kumpulan pengguna lokal dengan kumpulan pengguna Amazon CognitoAPI, Anda dapat mengaitkan log aktivitas pengguna Anda dari fitur keamanan tingkat lanjut dengan masing-masing perangkat mereka dan, secara opsional, memungkinkan pengguna melewati autentikasi multi-faktor (MFA) jika mereka menggunakan perangkat tepercaya. Amazon Cognito menyertakan kunci perangkat sebagai respons terhadap proses masuk apa pun yang belum menyertakan informasi perangkat. Kunci perangkat ada dalam format
. Dengan kunci perangkat, library Secure Remote Password (SRP), dan kumpulan pengguna yang mengizinkan autentikasi perangkat, Anda dapat meminta pengguna di aplikasi untuk mempercayai perangkat saat ini dan tidak lagi meminta MFA kode saat login.Region
_UUID
Topik
Menyiapkan perangkat yang diingat
Dengan kumpulan pengguna Amazon Cognito, Anda dapat mengaitkan setiap perangkat pengguna dengan pengenal perangkat unik: kunci perangkat. Saat Anda menampilkan kunci perangkat dan melakukan otentikasi perangkat saat masuk, Anda dapat memanfaatkan dua fitur.
-
Dengan fitur keamanan canggih, Anda dapat memantau aktivitas pengguna pada perangkat tertentu untuk tujuan keamanan dan analitik. Saat pengguna masuk, aplikasi Anda memiliki opsi untuk mengautentikasi setiap pengguna dan perangkatnya, menambahkan informasi perangkat ke log aktivitas Anda.
-
Perangkat mengingat juga mendukung alur autentikasi perangkat tepercaya, di mana pengguna Anda dapat memilih untuk masuk tanpa MFA sampai di lain waktu, sebagaimana ditentukan oleh persyaratan keamanan aplikasi Anda atau preferensi pengguna Anda. Misalnya, aplikasi Anda mungkin meminta pengguna untuk mempercayai perangkat selama 30, 60, atau 90 hari. Anda dapat menyimpan tanggal ini dalam atribut khusus dan pada tanggal tersebut, mengubah status perangkat yang diingat. Anda kemudian harus meminta kembali pengguna Anda untuk mengirimkan MFA kode dan mengatur perangkat untuk diingat lagi setelah otentikasi berhasil.
Perangkat yang diingat MFA hanya dapat diganti di kumpulan pengguna dengan MFA aktif.
Saat pengguna masuk dengan perangkat yang diingat, Anda harus melakukan autentikasi perangkat tambahan selama alur autentikasi mereka. Untuk informasi selengkapnya, lihat Masuk dengan perangkat.
Konfigurasikan kumpulan pengguna Anda untuk mengingat perangkat di tab Pengalaman masuk di kumpulan pengguna Anda, di bawah Pelacakan perangkat. Saat menyiapkan fungsionalitas perangkat yang diingat melalui konsol Amazon Cognito, Anda memiliki tiga pilihan:Selalu, Pilihan Pengguna, dan Tidak.
- Jangan ingat
-
Kumpulan pengguna Anda tidak meminta pengguna untuk mengingat perangkat saat mereka masuk.
- Selalu ingat
-
Saat aplikasi mengonfirmasi perangkat pengguna, kumpulan pengguna selalu mengingat perangkat tersebut dan tidak menampilkan MFA tantangan saat login perangkat yang berhasil di masa mendatang.
- Keikutsertaan pengguna
-
Saat aplikasi mengonfirmasi perangkat pengguna, kumpulan pengguna tidak secara otomatis menekan MFA tantangan. Anda harus meminta pengguna Anda untuk memilih apakah mereka ingin mengingat perangkat.
Saat Anda memilih Selalu ingat atau Keikutsertaan Pengguna, Amazon Cognito menghasilkan kunci dan rahasia pengenal perangkat setiap kali pengguna masuk dari perangkat yang tidak dikenal. Kunci perangkat adalah pengenal awal yang dikirimkan aplikasi ke kumpulan pengguna saat pengguna melakukan autentikasi perangkat.
Dengan setiap perangkat pengguna yang dikonfirmasi, baik diingat secara otomatis atau ikut serta, Anda dapat menggunakan kunci dan rahasia pengenal perangkat untuk mengautentikasi perangkat pada setiap pengguna yang masuk.
Anda juga dapat mengonfigurasi pengaturan perangkat yang diingat untuk kumpulan pengguna Anda dalam permintaan CreateUserPoolatau UpdateUserPoolAPIpermintaan. Untuk informasi lebih lanjut, lihat DeviceConfigurationproperti.
Kumpulan pengguna Amazon Cognito API memiliki operasi tambahan untuk perangkat yang diingat.
-
ListDevicesdan AdminListDevicesmengembalikan daftar kunci perangkat dan metadatanya untuk pengguna.
-
GetDevicedan AdminGetDevicemengembalikan kunci perangkat dan metadata untuk satu perangkat.
-
UpdateDeviceStatusdan AdminUpdateDeviceStatusmengatur perangkat pengguna seperti yang diingat atau tidak diingat.
-
ForgetDevicedan AdminForgetDevicemenghapus perangkat yang dikonfirmasi pengguna dari profil mereka.
APIoperasi dengan nama yang dimulai untuk Admin
digunakan dalam aplikasi sisi server dan harus diotorisasi dengan kredensialnya. IAM Untuk informasi selengkapnya, lihat Menggunakan kumpulan pengguna API dan server otorisasi.
Mendapatkan kunci perangkat
Kapan pun pengguna Anda masuk dengan kumpulan pengguna API dan tidak menyertakan kunci perangkat dalam parameter autentikasiDEVICE_KEY
, Amazon Cognito mengembalikan kunci perangkat baru dalam respons. Di aplikasi sisi klien publik Anda, letakkan kunci perangkat di penyimpanan aplikasi sehingga Anda dapat memasukkannya ke dalam permintaan future. Di aplikasi sisi server rahasia Anda, atur cookie browser atau token sisi klien lainnya dengan kunci perangkat pengguna Anda.
Sebelum pengguna Anda dapat masuk dengan perangkat tepercaya mereka, aplikasi Anda harus mengonfirmasi kunci perangkat dan memberikan informasi tambahan. Buat ConfirmDevicepermintaan ke Amazon Cognito yang mengonfirmasi perangkat pengguna Anda dengan kunci perangkat, nama yang ramah, pemverifikasi kata sandi, dan garam. Jika Anda mengonfigurasi kumpulan pengguna untuk autentikasi perangkat opt-in, Amazon Cognito merespons permintaan ConfirmDevice
Anda dengan prompt bahwa pengguna harus memilih apakah akan mengingat perangkat saat ini. Tanggapi dengan pilihan pengguna Anda dalam UpdateDeviceStatuspermintaan.
Saat mengonfirmasi perangkat pengguna tetapi tidak menyetelnya seperti yang diingat, Amazon Cognito menyimpan asosiasi tersebut tetapi dilanjutkan dengan login non-perangkat saat Anda memberikan kunci perangkat. Perangkat dapat menghasilkan log yang berguna untuk keamanan pengguna dan pemecahan masalah. Perangkat yang dikonfirmasi tetapi tidak diingat tidak memanfaatkan fitur masuk, tetapi memanfaatkan fitur log pemantauan keamanan. Saat Anda mengaktifkan fitur keamanan lanjutan untuk klien aplikasi dan menyandikan jejak perangkat ke dalam permintaan Anda, Amazon Cognito mengaitkan peristiwa pengguna dengan perangkat yang dikonfirmasi.
Untuk mendapatkan kunci perangkat baru
-
Mulai sesi login pengguna Anda dengan InitiateAuthAPIpermintaan.
-
Tanggapi semua tantangan otentikasi RespondToAuthChallengehingga Anda menerima token JSON web (JWTs) yang menandai sesi masuk pengguna Anda selesai.
-
Di aplikasi Anda, catat nilai yang ditampilkan Amazon Cognito
NewDeviceMetadata
dalamInitiateAuth
responsRespondToAuthChallenge
atau responsnya:DeviceGroupKey
dan.DeviceKey
-
Hasilkan SRP rahasia baru untuk pengguna Anda: garam dan verifikasi kata sandi. Fungsi ini tersedia di SDKs yang menyediakan SRP pustaka.
-
Minta pengguna Anda untuk nama perangkat, atau buat nama dari karakteristik perangkat pengguna Anda.
-
Berikan token akses, kunci perangkat, nama perangkat, dan SRP rahasia pengguna Anda dalam ConfirmDeviceAPIpermintaan. Jika kumpulan pengguna Anda disetel ke Selalu ingat perangkat, pendaftaran pengguna Anda selesai.
-
Jika Amazon Cognito merespons
ConfirmDevice
dengan"UserConfirmationNecessary": true
, minta pengguna Anda untuk memilih apakah mereka ingin mengingat perangkat tersebut. Jika mereka menegaskan bahwa mereka ingin mengingat perangkat, buat UpdateDeviceStatusAPIpermintaan dengan token akses pengguna Anda, kunci perangkat, dan"DeviceRememberedStatus": "remembered"
. -
Jika Anda telah menginstruksikan Amazon Cognito untuk mengingat perangkat, saat berikutnya mereka masuk, alih-alih MFA tantangan, mereka akan disajikan dengan
DEVICE_SRP_AUTH
tantangan.
Masuk dengan perangkat
Setelah Anda mengonfigurasi perangkat pengguna agar diingat, Amazon Cognito tidak lagi mengharuskan mereka untuk mengirimkan MFA kode saat mereka masuk dengan kunci perangkat yang sama. Otentikasi perangkat hanya menggantikan tantangan MFA -authentication dengan tantangan otentikasi perangkat. Anda tidak dapat memasukkan pengguna hanya dengan autentikasi perangkat. Pengguna Anda harus terlebih dahulu menyelesaikan otentikasi dengan kata sandi mereka atau tantangan khusus. Berikut ini adalah proses otentikasi untuk pengguna pada perangkat yang diingat.
Untuk melakukan autentikasi perangkat dalam alur yang menggunakan pemicu Lambda tantangan autentikasi kustom, teruskan parameter dalam DEVICE_KEY
permintaan Anda. InitiateAuthAPI Setelah pengguna Anda berhasil menyelesaikan semua tantangan dan CUSTOM_CHALLENGE
tantangan mengembalikan issueTokens
nilaitrue
, Amazon Cognito mengembalikan satu DEVICE_SRP_AUTH
tantangan terakhir.
Untuk masuk dengan perangkat
-
Ambil kunci perangkat pengguna Anda dari penyimpanan klien.
-
Mulai sesi login pengguna Anda dengan InitiateAuthAPIpermintaan. Pilih
AuthFlow
dariUSER_SRP_AUTH
,REFRESH_TOKEN_AUTH
,USER_PASSWORD_AUTH
, atauCUSTOM_AUTH
. DiAuthParameters
, tambahkan kunci perangkat pengguna Anda keDEVICE_KEY
parameter, dan sertakan parameter lain yang diperlukan untuk alur masuk yang Anda pilih.-
Anda juga dapat meneruskan
DEVICE_KEY
parameterPASSWORD_VERIFIER
respons terhadap tantangan otentikasi.
-
-
Selesaikan respons tantangan sampai Anda menerima
DEVICE_SRP_AUTH
tantangan dalam respons. -
Dalam RespondToAuthChallengeAPIpermintaan, kirim
ChallengeName
dariDEVICE_SRP_AUTH
dan parameter untukUSERNAME
,DEVICE_KEY
, danSRP_A
. -
Amazon Cognito merespons dengan sebuah tantangan.
DEVICE_PASSWORD_VERIFIER
Respons tantangan ini mencakup nilai-nilai untukSECRET_BLOCK
danSRP_B
. -
Dengan SRP perpustakaan Anda, buat dan kirimkan
PASSWORD_CLAIM_SIGNATURE
,PASSWORD_CLAIM_SECRET_BLOCK
,TIMESTAMP
,USERNAME
,, danDEVICE_KEY
parameter. Kirimkan ini dalamRespondToAuthChallenge
permintaan tambahan. -
Selesaikan tantangan tambahan sampai Anda menerima tantangan penggunaJWTs.
Pseudocode berikut menunjukkan cara menghitung nilai untuk respons tantangan AndaDEVICE_PASSWORD_VERIFIER
.
PASSWORD_CLAIM_SECRET_BLOCK = SECRET_BLOCK TIMESTAMP = Tue Sep 25 00:09:40 UTC 2018 PASSWORD_CLAIM_SIGNATURE = Base64(SHA256_HMAC(K_USER, DeviceGroupKey + DeviceKey + PASSWORD_CLAIM_SECRET_BLOCK + TIMESTAMP)) K_USER = SHA256_HASH(S_USER) S_USER = (SRP_B - k * gx)(a + ux) x = SHA256_HASH(salt + FULL_PASSWORD) u = SHA256_HASH(SRP_A + SRP_B) k = SHA256_HASH(N + g)
Melihat, memperbarui, dan melupakan perangkat
Anda dapat menerapkan fitur berikut di aplikasi Anda dengan Amazon API Cognito.
-
Menampilkan informasi tentang perangkat pengguna saat ini.
-
Menampilkan daftar semua perangkat pengguna Anda.
-
Lupakan perangkat.
-
Perbarui status perangkat yang diingat.
Token akses yang mengotorisasi API permintaan dalam deskripsi berikut harus menyertakan ruang lingkup. aws.cognito.signin.user.admin
Amazon Cognito menambahkan klaim untuk cakupan ini ke semua token akses yang Anda hasilkan dengan kumpulan pengguna Amazon Cognito. API Pihak ketiga IdPs harus mengelola perangkat secara terpisah dan MFA untuk penggunanya yang mengautentikasi ke Amazon Cognito. Di UI yang dihosting, Anda dapat meminta aws.cognito.signin.user.admin
ruang lingkup, tetapi UI yang dihosting secara otomatis menambahkan informasi perangkat ke log pengguna keamanan tingkat lanjut, dan tidak menawarkan untuk mengingat perangkat.
Menampilkan informasi tentang perangkat
Anda dapat menanyakan informasi tentang perangkat pengguna untuk menentukan apakah masih digunakan saat ini. Misalnya, Anda mungkin ingin menonaktifkan perangkat yang diingat setelah perangkat tersebut tidak masuk selama 90 hari.
-
Untuk menampilkan informasi perangkat pengguna Anda di aplikasi klien-publik, kirimkan kunci akses dan kunci perangkat pengguna Anda dalam permintaan. GetDeviceAPI
-
Untuk menampilkan informasi perangkat pengguna Anda di aplikasi klien rahasia, tandatangani AdminGetDeviceAPIpermintaan dengan AWS kredensi dan kirimkan nama pengguna, kunci perangkat, dan kumpulan pengguna Anda.
Menampilkan daftar semua perangkat pengguna Anda
Anda dapat menampilkan daftar semua perangkat pengguna Anda dan propertinya. Misalnya, Anda mungkin ingin memverifikasi bahwa perangkat saat ini cocok dengan perangkat yang diingat.
-
Di aplikasi klien-publik, kirimkan token akses pengguna Anda dalam permintaan. ListDevicesAPI
-
Di aplikasi klien rahasia, tandatangani AdminListDevicesAPIpermintaan dengan AWS kredensi dan kirimkan nama pengguna dan kumpulan pengguna Anda.
Lupakan perangkat
Anda dapat menghapus kunci perangkat pengguna. Anda mungkin ingin melakukan ini ketika Anda menentukan bahwa pengguna Anda tidak lagi menggunakan perangkat, atau ketika Anda mendeteksi aktivitas yang tidak biasa dan ingin meminta pengguna untuk menyelesaikannya MFA lagi. Untuk mendaftarkan perangkat lagi nanti, Anda harus membuat dan menyimpan kunci perangkat baru.
-
Di aplikasi klien-publik, kirimkan kunci perangkat pengguna dan token akses sesuai permintaan. ForgetDeviceAPI
-
Di aplikasi klien rahasia, kirimkan kunci perangkat dan token akses pengguna Anda sesuai permintaan. AdminForgetDeviceAPI