Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Menggunakan kumpulan pengguna API dan server otorisasi
Saat ingin mendaftar, masuk, dan mengelola pengguna di kumpulan pengguna, Anda memiliki dua opsi.
-
Titik akhir kumpulan pengguna Anda mencakup UI yang dihosting dan titik akhir federasi. Mereka membuat paket halaman web publik yang diaktifkan Amazon Cognito saat Anda memilih domain untuk kumpulan pengguna Anda. Untuk memulai dengan cepat dengan fitur otentikasi dan otorisasi kumpulan pengguna Amazon Cognito, termasuk halaman untuk pendaftaran, masuk, manajemen kata sandi, dan otentikasi multi-faktor MFA (), gunakan antarmuka pengguna bawaan dari UI yang dihosting. Titik akhir kumpulan pengguna lainnya memfasilitasi otentikasi dengan penyedia identitas pihak ketiga ()IdPs. Layanan yang mereka lakukan meliputi yang berikut ini.
-
Titik akhir panggilan balik penyedia layanan untuk klaim yang diautentikasi dari Anda, suka, dan. IdPs
saml2/idpresponse
oauth2/idpresponse
Jika Amazon Cognito adalah penyedia layanan perantara (SP) antara aplikasi dan idP Anda, titik akhir callback mewakili layanan. -
Endpoint yang memberikan informasi tentang lingkungan Anda, seperti
oauth2/userInfo
danjwks.json
. Aplikasi Anda menggunakan titik akhir ini saat memverifikasi token atau mengambil data profil pengguna dengan AWS SDKs dan OAuth pustaka 2.0.
-
-
Kumpulan pengguna Amazon Cognito API adalah seperangkat alat untuk web atau aplikasi seluler Anda, setelah mengumpulkan informasi masuk di front end kustom Anda sendiri, untuk mengautentikasi pengguna. APIOtentikasi kumpulan pengguna menghasilkan token JSON web berikut.
-
Token identitas dengan klaim atribut yang dapat diverifikasi dari pengguna Anda.
-
catatan
Secara default, token akses dari API otentikasi kumpulan pengguna hanya berisi
aws.cognito.signin.user.admin
ruang lingkup. Untuk menghasilkan token akses dengan cakupan tambahan, misalnya untuk mengotorisasi permintaan ke pihak ketigaAPI, minta cakupan selama autentikasi melalui titik akhir kumpulan pengguna Anda atau tambahkan cakupan khusus di file. Pemicu Lambda generasi pra token Kustomisasi token akses menambah biaya ke AWS tagihan Anda.
-
Anda dapat menautkan pengguna federasi, yang biasanya masuk melalui titik akhir kumpulan pengguna, dengan pengguna yang profilnya lokal ke kumpulan pengguna Anda. Pengguna lokal ada secara eksklusif di direktori kumpulan pengguna Anda tanpa federasi melalui iDP eksternal. Jika Anda menautkan identitas federasi mereka ke pengguna lokal dalam AdminLinkProviderForUserAPIpermintaan, mereka dapat masuk dengan kumpulan API pengguna. Untuk informasi selengkapnya, lihat Menautkan pengguna gabungan ke profil pengguna yang ada.
Kumpulan pengguna Amazon Cognito API adalah tujuan ganda. Ini membuat dan mengonfigurasi sumber daya kumpulan pengguna Amazon Cognito Anda. Misalnya, Anda dapat membuat kumpulan pengguna, menambahkan AWS Lambda pemicu, dan mengonfigurasi domain UI yang dihosting. Kumpulan pengguna API juga melakukan pendaftaran, masuk, dan operasi pengguna lainnya untuk pengguna lokal dan tertaut.
Contoh skenario dengan kumpulan pengguna Amazon Cognito API
-
Pengguna Anda memilih tombol “Buat akun” yang Anda buat di aplikasi Anda. Mereka memasukkan alamat email dan kata sandi.
-
Aplikasi Anda mengirimkan SignUpAPIpermintaan dan membuat pengguna baru di kumpulan pengguna Anda.
-
Aplikasi Anda meminta pengguna Anda untuk kode konfirmasi email. Pengguna Anda memasukkan kode yang mereka terima dalam pesan email.
-
Aplikasi Anda mengirimkan ConfirmSignUpAPIpermintaan dengan kode konfirmasi pengguna.
-
Aplikasi Anda meminta pengguna Anda untuk nama pengguna dan kata sandi mereka, dan mereka memasukkan informasi mereka.
-
Aplikasi Anda mengirimkan InitiateAuthAPIpermintaan dan menyimpan token ID, token akses, dan token penyegaran. Aplikasi Anda memanggil OIDC library untuk mengelola token pengguna dan mempertahankan sesi persisten untuk pengguna tersebut.
Di kumpulan pengguna Amazon CognitoAPI, Anda tidak dapat memasukkan pengguna yang melakukan federasi melalui iDP. Anda harus mengautentikasi pengguna ini melalui titik akhir kumpulan pengguna Anda. Untuk informasi selengkapnya tentang titik akhir kumpulan pengguna yang menyertakan UI yang dihosting, lihatTitik akhir kumpulan pengguna dan referensi UI yang dihosting. Pengguna federasi Anda dapat memulai di UI yang dihosting dan memilih IDP mereka, atau Anda dapat melewati UI yang dihosting dan mengirim pengguna Anda langsung ke IDP Anda untuk masuk. Jika API permintaan Anda ke Otorisasi titik akhir menyertakan parameter iDP, Amazon Cognito secara diam-diam mengalihkan pengguna Anda ke halaman masuk iDP.
Contoh skenario dengan titik akhir kumpulan pengguna
-
Pengguna Anda memilih tombol “Buat akun” yang Anda buat di aplikasi Anda.
-
Anda menyajikan pengguna Anda dengan daftar penyedia identitas sosial di mana Anda telah mendaftarkan kredensi pengembang. Pengguna Anda memilih Apple.
-
Aplikasi Anda memulai permintaan ke nama
SignInWithApple
penyedia Otorisasi titik akhir with. -
Browser pengguna Anda membuka halaman OAuth otorisasi Apple. Pengguna Anda memilih untuk mengizinkan Amazon Cognito membaca informasi profil mereka.
-
Amazon Cognito mengonfirmasi token akses Apple dan menanyakan profil Apple pengguna Anda.
-
Pengguna Anda menyajikan kode otorisasi Amazon Cognito ke aplikasi Anda.
-
Aplikasi Anda menukar kode otorisasi dengan Titik akhir token dan menyimpan token ID, token akses, dan token penyegaran. Aplikasi Anda memanggil OIDC library untuk mengelola token pengguna dan mempertahankan sesi persisten untuk pengguna tersebut.
Kumpulan pengguna API dan titik akhir kumpulan pengguna mendukung berbagai skenario, yang dijelaskan di seluruh panduan ini. Bagian berikut memeriksa bagaimana kumpulan pengguna membagi API lebih lanjut ke dalam kelas yang mendukung persyaratan pendaftaran, masuk, dan manajemen sumber daya Anda.
Kumpulan pengguna Amazon Cognito operasi yang diautentikasi dan tidak diautentikasi API
Kumpulan pengguna Amazon CognitoAPI, baik antarmuka manajemen sumber daya dan antarmuka otentikasi dan otorisasi yang dihadapi pengguna, menggabungkan model otorisasi yang mengikuti operasinya. Bergantung pada API operasinya, Anda mungkin harus memberikan otorisasi dengan IAM kredensil, token akses, token sesi, rahasia klien, atau kombinasi keduanya. Untuk banyak operasi otentikasi dan otorisasi pengguna, Anda memiliki pilihan versi permintaan yang diautentikasi dan tidak diautentikasi. Operasi yang tidak diautentikasi adalah praktik keamanan terbaik untuk aplikasi yang Anda distribusikan kepada pengguna, seperti aplikasi seluler; Anda tidak perlu menyertakan rahasia apa pun dalam kode Anda.
Anda hanya dapat menetapkan izin dalam IAM kebijakan untuk IAM-operasi manajemen yang diautentikasi dan. IAM-operasi pengguna yang diautentikasi
IAM-operasi manajemen yang diautentikasi memodifikasi dan melihat kumpulan pengguna dan konfigurasi klien aplikasi Anda, seperti yang akan Anda lakukan di. AWS Management Console
Misalnya, untuk mengubah kumpulan pengguna Anda dalam UpdateUserPoolAPIpermintaan, Anda harus menunjukkan AWS kredensil dan IAM izin untuk memperbarui sumber daya.
Untuk mengotorisasi permintaan ini di AWS Command Line Interface (AWS CLI) atau AWS SDK, konfigurasikan lingkungan Anda dengan variabel lingkungan atau konfigurasi klien yang menambahkan IAM kredensil ke permintaan Anda. Untuk informasi selengkapnya, lihat Mengakses AWS menggunakan AWS kredensil Anda di. Referensi Umum AWS Anda juga dapat mengirim permintaan langsung ke titik akhir layanan untuk kumpulan pengguna Amazon Cognito. API Anda harus mengotorisasi, atau menandatangani, permintaan ini dengan AWS kredensil yang Anda sematkan di header permintaan Anda. Untuk informasi selengkapnya, lihat AWS APIPermintaan penandatanganan.
IAM-operasi manajemen yang diautentikasi |
---|
AddCustomAttributes |
CreateGroup |
CreateIdentityProvider |
CreateResourceServer |
CreateUserImportJob |
CreateUserPool |
CreateUserPoolClient |
CreateUserPoolDomain |
DeleteGroup |
DeleteIdentityProvider |
DeleteResourceServer |
DeleteUserPool |
DeleteUserPoolClient |
DeleteUserPoolDomain |
DescribeIdentityProvider |
DescribeResourceServer |
DescribeRiskConfiguration |
DescribeUserImportJob |
DescribeUserPool |
DescribeUserPoolClient |
DescribeUserPoolDomain |
GetCSVHeader |
GetGroup |
GetIdentityProviderByIdentifier |
GetSigningCertificate |
GetUICustomization |
GetUserPoolMfaConfig |
ListGroups |
ListIdentityProviders |
ListResourceServers |
ListTagsForResource |
ListUserImportJobs |
ListUserPoolClients |
ListUserPools |
ListUsers |
ListUsersInGroup |
SetRiskConfiguration |
SetUICustomization |
SetUserPoolMfaConfig |
StartUserImportJob |
StopUserImportJob |
TagResource |
UntagResource |
UpdateGroup |
UpdateIdentityProvider |
UpdateResourceServer |
UpdateUserPool |
UpdateUserPoolClient |
UpdateUserPoolDomain |
IAM-operasi pengguna yang diautentikasi mendaftar, masuk, mengelola kredensi untuk, memodifikasi, dan melihat pengguna Anda.
Misalnya, Anda dapat memiliki tingkat aplikasi sisi server yang mendukung ujung depan web. Aplikasi sisi server Anda adalah klien OAuth rahasia yang Anda percayai dengan akses istimewa ke sumber daya Amazon Cognito Anda. Untuk mendaftarkan pengguna di aplikasi, server Anda dapat menyertakan AWS kredensil dalam permintaan. AdminCreateUserAPI Untuk informasi selengkapnya tentang jenis OAuth klien, lihat Jenis Klien
Untuk mengotorisasi permintaan ini di AWS CLI atau an AWS SDK, konfigurasikan lingkungan aplikasi sisi server Anda dengan variabel lingkungan atau konfigurasi klien yang menambahkan IAM kredensil ke permintaan Anda. Untuk informasi selengkapnya, lihat Mengakses AWS menggunakan AWS kredensil Anda di. Referensi Umum AWS Anda juga dapat mengirim permintaan langsung ke titik akhir layanan untuk kumpulan pengguna Amazon Cognito. API Anda harus mengotorisasi, atau menandatangani, permintaan ini dengan AWS kredensil yang Anda sematkan di header permintaan Anda. Untuk informasi selengkapnya, lihat AWS APIPermintaan penandatanganan.
Jika klien aplikasi Anda memiliki rahasia klien, Anda harus memberikan IAM kredensil dan, tergantung pada operasinya, SecretHash
parameter atau SECRET_HASH
nilai dalam. AuthParameters
Untuk informasi selengkapnya, lihat Menghitung nilai hash rahasia.
IAM-operasi pengguna yang diautentikasi |
---|
AdminAddUserToGroup |
AdminConfirmSignUp |
AdminCreateUser |
AdminDeleteUser |
AdminDeleteUserAttributes |
AdminDisableProviderForUser |
AdminDisableUser |
AdminEnableUser |
AdminForgetDevice |
AdminGetDevice |
AdminGetUser |
AdminInitiateAuth |
AdminLinkProviderForUser |
AdminListDevices |
AdminListGroupsForUser |
AdminListUserAuthEvents |
AdminRemoveUserFromGroup |
AdminResetUserPassword |
AdminRespondToAuthChallenge |
AdminSetUserMFAPreference |
AdminSetUserPassword |
AdminSetUserSettings |
AdminUpdateAuthEventFeedback |
AdminUpdateDeviceStatus |
AdminUpdateUserAttributes |
AdminUserGlobalSignOut |
Operasi pengguna yang tidak diautentikasi mendaftar, masuk, dan memulai pengaturan ulang kata sandi untuk pengguna Anda. Gunakan API operasi yang tidak diautentikasi, atau publik, saat Anda ingin siapa pun di internet mendaftar dan masuk ke aplikasi Anda.
Misalnya, untuk mendaftarkan pengguna di aplikasi, Anda dapat mendistribusikan klien OAuth publik yang tidak menyediakan akses istimewa apa pun ke rahasia. Anda dapat mendaftarkan pengguna ini dengan operasi yang tidak diautentikasi. API SignUp
Untuk mengirim permintaan ini di klien publik yang Anda kembangkan dengan AWS SDK, Anda tidak perlu mengonfigurasi kredensi apa pun. Anda juga dapat mengirim permintaan langsung ke titik akhir layanan untuk API kumpulan pengguna Amazon Cognito tanpa otorisasi tambahan.
Jika klien aplikasi Anda memiliki rahasia klien, Anda harus memberikan, tergantung pada operasi, SecretHash
parameter atau SECRET_HASH
nilai dalamAuthParameters
. Untuk informasi selengkapnya, lihat Menghitung nilai hash rahasia.
Operasi pengguna yang tidak diautentikasi |
---|
SignUp |
ConfirmSignUp |
ResendConfirmationCode |
ForgotPassword |
ConfirmForgotPassword |
InitiateAuth |
Operasi pengguna yang diotorisasi token keluar, mengelola kredensil untuk, memodifikasi, dan melihat pengguna Anda setelah mereka masuk atau memulai proses masuk. Gunakan API operasi yang diotorisasi token saat Anda tidak ingin mendistribusikan rahasia di aplikasi, dan Anda ingin mengotorisasi permintaan dengan kredensil pengguna Anda sendiri. Jika pengguna Anda telah menyelesaikan proses masuk, Anda harus mengotorisasi API permintaan resmi token mereka dengan token akses. Jika pengguna Anda berada di tengah proses masuk, Anda harus mengotorisasi API permintaan resmi token mereka dengan token sesi yang dikembalikan Amazon Cognito sebagai respons terhadap permintaan sebelumnya.
Misalnya, di klien publik, Anda mungkin ingin memperbarui profil pengguna dengan cara yang membatasi akses tulis ke profil pengguna sendiri saja. Untuk melakukan pembaruan ini, klien Anda dapat menyertakan token akses pengguna dalam UpdateUserAttributesAPIpermintaan.
Untuk mengirim permintaan ini di klien publik yang Anda kembangkan dengan AWS
SDK, Anda tidak perlu mengonfigurasi kredensi apa pun. Sertakan Session
parameter AccessToken
atau dalam permintaan Anda. Anda juga dapat mengirim permintaan langsung ke titik akhir layanan untuk kumpulan pengguna Amazon Cognito. API Untuk mengotorisasi permintaan ke titik akhir layanan, sertakan token akses atau sesi di POST badan permintaan Anda.
Untuk menandatangani API permintaan operasi yang diotorisasi token, sertakan token akses sebagai Authorization
header dalam permintaan Anda, dalam format. Bearer
<Base64-encoded access
token>
Operasi pengguna yang diotorisasi token | AccessToken | Sesi |
---|---|---|
RespondToAuthChallenge |
✓ | |
ChangePassword |
✓ | |
GetUser |
✓ | |
UpdateUserAttributes |
✓ | |
DeleteUserAttributes |
✓ | |
DeleteUser |
✓ | |
ConfirmDevice |
✓ | |
ForgetDevice |
✓ | |
GetDevice |
✓ | |
ListDevices |
✓ | |
UpdateDeviceStatus |
✓ | |
GetUserAttributeVerificationCode |
✓ | |
VerifyUserAttribute |
✓ | |
SetUserSettings |
✓ | |
SetUserMFAPreference |
✓ | |
GlobalSignOut |
✓ | |
AssociateSoftwareToken |
✓ | ✓ |
UpdateAuthEventFeedback |
✓ | |
VerifySoftwareToken |
✓ | ✓ |
RevokeToken ¹ |
¹ RevokeToken mengambil token penyegaran sebagai parameter. Token penyegaran berfungsi sebagai token otorisasi, dan sebagai sumber daya target.