Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Bekerja dengan atribut pengguna
Atribut adalah potongan informasi yang membantu Anda mengidentifikasi pengguna individu, seperti nama, alamat email, dan nomor telepon. Sebuah kumpulan pengguna baru memiliki satu set atribut standar default. Anda juga dapat menambahkan atribut kustom ke definisi kumpulan pengguna Anda di AWS Management Console. Topik ini menjelaskan atribut tersebut secara detail dan memberi Anda tips tentang cara menyiapkan kolam pengguna Anda.
Jangan menyimpan semua informasi tentang pengguna Anda dalam atribut. Misalnya, simpan data pengguna yang sering berubah, seperti statistik penggunaan atau skor game, di penyimpanan data terpisah, seperti Amazon Cognito Sync atau Amazon DynamoDB.
catatan
Beberapa dokumentasi dan standar mengacu pada atribut sebagai anggota.
Topik
Atribut standar
Amazon Cognito menetapkan semua pengguna satu set atribut standar berdasarkan spesifikasi OpenID
Atribut standar adalah:
-
name
-
family_name
-
given_name
-
middle_name
-
nickname
-
preferred_username
-
profile
-
picture
-
website
-
gender
-
birthdate
-
zoneinfo
-
locale
-
updated_at
-
address
-
email
-
phone_number
-
sub
Kecuali untuksub
, atribut standar opsional secara default untuk semua pengguna. Untuk membuat atribut diperlukan, selama proses pembuatan kumpulan pengguna, pilih kotak centang Diperlukan di sebelah atribut. Amazon Cognito memberikan nilai pengenal pengguna unik untuk setiap atribut pengguna. sub
Hanya atribut email dan phone_number yang dapat diverifikasi.
Atribut standar memiliki properti yang telah ditentukan sebelumnya yang dapat Anda lihat dalam SchemaAttributes
parameter DescribeUserPool APIrespons. Anda dapat menetapkan nilai kustom untuk properti atribut ini, seperti tipe data, mutabilitas, dan batasan panjang. Untuk memodifikasi properti atribut standar, tetapkan nilai kustom mereka dalam parameter CreateUserPool Skema. Skema ini juga tempat Anda mengatur atribut yang diperlukan. Anda tidak dapat mengubah properti atribut standar saat membuat kumpulan pengguna di konsol Amazon Cognito.
catatan
Ketika Anda menandai atribut standar sebagai Diperlukan, pengguna tidak dapat mendaftar kecuali mereka memberikan nilai untuk atribut tersebut. Untuk membuat pengguna dan tidak memberikan nilai untuk atribut yang diperlukan, administrator dapat menggunakan file. AdminCreateUserAPI Setelah membuat kumpulan pengguna, Anda tidak dapat mengganti atribut antara required dan not required.
Detail atribut standar dan batasan format
- tanggal lahir
-
Nilai harus berupa tanggal 10 karakter yang valid dalam format YYYY-MM-DD.
-
Pengguna dan administrator dapat memverifikasi nilai alamat email.
Administrator dengan Akun AWS izin yang tepat dapat mengubah alamat email pengguna dan juga menandainya sebagai terverifikasi. Tandai alamat email sebagai diverifikasi dengan perintah AdminUpdateUserAttributesAPIatau admin-update-user-attributes AWS Command Line Interface (AWS CLI). Dengan perintah ini, administrator dapat mengubah
email_verified
atribut ketrue
. Anda juga dapat mengedit pengguna di tab Pengguna AWS Management Console untuk menandai alamat email sebagai terverifikasi.Nilai harus berupa string alamat email yang valid mengikuti format email standar dengan simbol @ dan domain, hingga 2048 karakter panjangnya.
- phone_number
-
Pengguna harus memberikan nomor telepon jika otentikasi SMS multi-faktor (MFA) aktif. Untuk informasi selengkapnya, lihat Menambahkan MFA ke kumpulan pengguna.
Pengguna dan administrator dapat memverifikasi nilai nomor telepon.
Administrator dengan Akun AWS izin yang tepat dapat mengubah nomor telepon pengguna dan juga menandainya sebagai terverifikasi. Tandai nomor telepon sebagai diverifikasi dengan AdminUpdateUserAttributesAPIatau admin-update-user-attributes AWS CLI perintah. Dengan perintah ini, administrator dapat mengubah
phone_number_verified
atribut ketrue
. Anda juga dapat mengedit pengguna di tab Pengguna AWS Management Console untuk menandai nomor telepon sebagai terverifikasi.penting
Nomor telepon harus mengikuti aturan format ini: Nomor telepon harus dimulai dengan tanda plus (
+
), segera diikuti oleh kode negara. Nomor telepon hanya boleh berisi tanda+
dan angka. Hapus karakter lain dari nomor telepon, seperti tanda kurung, spasi, atau tanda hubung (-
) sebelum Anda mengirimkan nilai ke layanan. Misalnya, nomor telepon yang berbasis di Amerika Serikat harus mengikuti format ini:+14325551212
. - preferred_username
-
Anda dapat memilih
preferred_username
sesuai kebutuhan atau sebagai alias, tetapi tidak keduanya. Jika aliaspreferred_username
adalah, Anda dapat membuat permintaan untuk UpdateUserAttributesAPIoperasi dan menambahkan nilai atribut setelah Anda mengkonfirmasi pengguna. - sub
-
Indeks dan cari pengguna Anda berdasarkan
sub
atribut.sub
Atribut adalah pengidentifikasi pengguna unik dalam setiap kumpulan pengguna. Pengguna dapat mengubah atribut sepertiphone_number
danemail
.sub
Atribut memiliki nilai tetap. Untuk informasi selengkapnya tentang menemukan pengguna, lihatMengelola dan mencari akun pengguna.
Lihat atribut yang diperlukan
Gunakan prosedur berikut untuk melihat atribut yang diperlukan untuk kumpulan pengguna tertentu.
catatan
Anda tidak dapat mengubah atribut yang diperlukan setelah membuat kumpulan pengguna.
Untuk melihat atribut yang diperlukan
-
Pergi ke Amazon Cognito
di. AWS Management Console Jika konsol meminta Anda, masukkan AWS kredensional Anda. -
Pilih Kolam Pengguna.
-
Pilih kumpulan pengguna yang ada dari daftar.
-
Pilih tab Sign-up experience.
-
Di bagian Atribut wajib, lihat atribut yang diperlukan dari kumpulan pengguna Anda.
Nama pengguna dan nama pengguna pilihan
Nilai username
adalah atribut terpisah dan tidak sama dengan atribut name
. Setiap pengguna memiliki username
atribut. Amazon Cognito secara otomatis menghasilkan nama pengguna untuk pengguna federasi. Anda harus memberikan username
atribut untuk membuat pengguna lokal di direktori Amazon Cognito. Setelah Anda membuat pengguna, Anda tidak dapat mengubah nilai username
atribut.
Pengembang dapat menggunakan preferred_username
atribut untuk memberikan nama pengguna pengguna yang dapat mereka ubah. Untuk informasi selengkapnya, lihat Menyesuaikan atribut masuk.
Jika aplikasi Anda tidak memerlukan nama pengguna, Anda tidak perlu meminta pengguna untuk menyediakannya. Aplikasi Anda dapat membuat nama pengguna unik untuk pengguna di latar belakang. Ini dapat berguna jika Anda ingin pengguna mendaftar dan masuk dengan alamat email dan kata sandi. Untuk informasi selengkapnya, lihat Menyesuaikan atribut masuk.
username
harus unik dalam kolam pengguna. A username
dapat digunakan kembali, tetapi hanya setelah Anda menghapusnya dan tidak lagi digunakan. Untuk informasi tentang batasan string ke username
atribut, lihat properti nama pengguna permintaan. SignUpAPI
Menyesuaikan atribut masuk
Saat membuat kumpulan pengguna, Anda dapat mengatur atribut nama pengguna jika ingin pengguna dapat mendaftar dan masuk dengan alamat email atau nomor telepon sebagai nama pengguna mereka. Atau, Anda dapat mengatur atribut alias untuk memberikan pilihan kepada pengguna Anda: mereka dapat menyertakan beberapa atribut saat mereka mendaftar, lalu masuk dengan nama pengguna, nama pengguna pilihan, alamat email, atau nomor telepon.
penting
Setelah membuat kumpulan pengguna, Anda tidak dapat mengubah pengaturan ini.
Cara memilih antara atribut alias dan atribut nama pengguna
Kebutuhan Anda | Atribut alias | Atribut nama pengguna |
---|---|---|
Pengguna memiliki beberapa atribut masuk | Ya¹ | Tidak² |
Pengguna harus memverifikasi alamat email atau nomor telepon sebelum mereka dapat masuk dengannya | Ya | Tidak |
Mendaftar pengguna dengan alamat email duplikat atau nomor telepon dan mencegah UsernameExistsException kesalahan³ |
Ya | Tidak |
Dapat menetapkan nilai atribut alamat email atau nomor telepon yang sama ke lebih dari satu pengguna | Ya³/ | Tidak |
¹ Atribut masuk yang tersedia adalah nama pengguna, alamat email, nomor telepon, dan nama pengguna pilihan.
² Dapat masuk dengan alamat email atau nomor telepon.
³ Kumpulan pengguna Anda tidak menghasilkan UsernameExistsException
kesalahan saat pengguna mendaftar dengan alamat email atau nomor telepon yang berpotensi duplikat, tetapi tidak ada nama pengguna. Perilaku ini tidak tergantung pada Mencegah kesalahan keberadaan nama pengguna, yang berlaku untuk operasi masuk, tetapi tidak mendaftar.
Hanya pengguna terakhir yang telah memverifikasi atribut yang dapat masuk dengannya.
Anda dapat mengaktifkan alias jika Anda ingin mengizinkan pengguna Anda memilih untuk memasukkan nama pengguna atau nilai atribut lainnya saat mereka masuk. Secara default, pengguna masuk dengan nama pengguna dan kata sandi mereka. Nama pengguna adalah nilai tetap yang tidak dapat diubah pengguna. Jika Anda menandai atribut sebagai alias, pengguna dapat masuk dengan atribut tersebut sebagai pengganti nama pengguna. Anda dapat menandai alamat email, nomor telepon, dan atribut nama pengguna pilihan sebagai alias. Misalnya, jika Anda memilih alamat email dan nomor telepon sebagai alias untuk kumpulan pengguna, pengguna di kumpulan pengguna tersebut dapat masuk dengan nama pengguna, alamat email, atau nomor telepon mereka, bersama dengan kata sandi mereka.
Untuk memilih atribut alias, pilih Nama pengguna dan setidaknya satu opsi masuk tambahan saat Anda membuat kumpulan pengguna.
catatan
Saat Anda mengonfigurasi kumpulan pengguna agar tidak peka huruf besar/kecil, pengguna dapat menggunakan huruf kecil atau huruf besar untuk mendaftar atau masuk dengan alias mereka. Untuk informasi selengkapnya, lihat CreateUserPooldi Referensi kumpulan API pengguna Amazon Cognito.
Jika Anda memilih alamat email sebagai alias, Amazon Cognito tidak menerima nama pengguna yang cocok dengan format alamat email yang valid. Demikian pula, jika Anda memilih nomor telepon sebagai alias, Amazon Cognito tidak menerima nama pengguna untuk kumpulan pengguna yang cocok dengan format nomor telepon yang valid.
catatan
Nilai alias harus unik di kolam pengguna. Jika Anda mengonfigurasi alias untuk alamat email atau nomor telepon, nilai yang Anda berikan dapat berada dalam status terverifikasi hanya dalam satu akun. Selama pendaftaran, jika pengguna Anda memberikan alamat email atau nomor telepon sebagai nilai alias dan pengguna lain telah menggunakan nilai alias itu, pendaftaran berhasil. Namun, ketika pengguna mencoba mengonfirmasi akun dengan email ini (atau nomor telepon) dan memasukkan kode yang valid, Amazon Cognito mengembalikan kesalahanAliasExistsException
. Kesalahan menunjukkan kepada pengguna bahwa akun dengan alamat email ini (atau nomor telepon) sudah ada. Pada titik ini, pengguna dapat meninggalkan upaya mereka untuk membuat akun baru dan sebagai gantinya mencoba mengatur ulang kata sandi untuk akun lama. Jika pengguna terus membuat akun baru, aplikasi Anda harus memanggil forceAliasCreation
opsi ConfirmSignUp
API dengan. ConfirmSignUp
dengan forceAliasCreation
memindahkan alias dari akun sebelumnya ke akun yang baru dibuat, dan menandai atribut yang tidak diverifikasi di akun sebelumnya.
Nomor telepon dan alamat email hanya menjadi alias aktif untuk pengguna setelah pengguna Anda memverifikasi nomor telepon dan alamat email. Kami menyarankan Anda memilih verifikasi otomatis alamat email dan nomor telepon jika Anda menggunakannya sebagai alias.
Pilih atribut alias untuk mencegah UsernameExistsException
kesalahan pada atribut alamat email dan nomor telepon saat pengguna Anda mendaftar.
Aktifkan preferred_username
atribut sehingga pengguna Anda dapat mengubah nama pengguna yang mereka gunakan untuk masuk sementara nilai username
atributnya tidak berubah. Jika Anda ingin mengatur pengalaman pengguna ini, kirimkan username
nilai baru sebagai preferred_username
dan pilih preferred_username
sebagai alias. Kemudian pengguna dapat masuk dengan nilai baru yang mereka masukkan. Jika Anda memilih preferred_username
sebagai alias, pengguna Anda dapat memberikan nilai hanya ketika mereka mengkonfirmasi akun. Mereka tidak dapat memberikan nilai selama pendaftaran.
Saat pengguna mendaftar dengan nama pengguna, Anda dapat memilih apakah mereka dapat masuk dengan satu atau beberapa alias berikut.
-
Alamat email terverifikasi
-
Nomor telepon terverifikasi
-
Nama pengguna yang disukai
Setelah pengguna mendaftar, mereka dapat mengubah alias ini.
penting
Jika kumpulan pengguna Anda mendukung login dengan alias dan Anda ingin mengotorisasi atau mencari pengguna, jangan mengidentifikasi pengguna Anda dengan atribut login mereka. Pengenal pengguna dengan nilai tetap sub
adalah satu-satunya indikator yang konsisten dari identitas pengguna Anda.
Sertakan langkah-langkah berikut saat Anda membuat kumpulan pengguna sehingga pengguna dapat masuk dengan alias.
Untuk mengonfigurasi kumpulan pengguna sehingga pengguna dapat masuk dengan nama pengguna pilihan
-
Pergi ke Amazon Cognito
di. AWS Management Console Jika konsol meminta Anda, masukkan AWS kredensional Anda. -
Pilih Kolam Pengguna.
-
Di sudut kanan atas halaman, pilih Buat kumpulan pengguna untuk memulai panduan pembuatan kumpulan pengguna.
-
Di Mengonfigurasi pengalaman masuk, pilih identitas Jenis Penyedia yang ingin Anda kaitkan dengan kumpulan pengguna Anda.
-
Di bawah opsi masuk kumpulan pengguna Cognito, pilih kombinasi apa pun dari Nama Pengguna, Email, dan Nomor Telepon.
-
Di bawah Persyaratan nama pengguna, pilih Izinkan pengguna untuk masuk dengan nama pengguna yang diinginkan sehingga pengguna Anda dapat menetapkan nama pengguna alternatif saat mereka masuk.
-
Pilih Berikutnya, lalu selesaikan semua langkah di wizard.
Ketika pengguna mendaftar dengan alamat email atau nomor telepon sebagai nama pengguna mereka, Anda dapat memilih apakah mereka dapat mendaftar hanya dengan alamat email, hanya nomor telepon, atau salah satu.
Untuk memilih atribut nama pengguna, jangan pilih Nama pengguna sebagai opsi masuk saat Anda membuat kumpulan pengguna.
Alamat email atau nomor telepon harus unik, dan itu harus belum digunakan oleh pengguna lain. Itu tidak harus diverifikasi. Setelah pengguna mendaftar dengan alamat email atau nomor telepon, pengguna tidak dapat membuat akun baru dengan alamat email atau nomor telepon yang sama. Pengguna hanya dapat menggunakan kembali akun yang ada dan mengatur ulang kata sandi akun, jika diperlukan. Namun, pengguna dapat mengubah alamat email atau nomor telepon menjadi alamat email atau nomor telepon baru. Jika alamat email atau nomor telepon belum digunakan, itu menjadi nama pengguna baru.
catatan
Jika pengguna mendaftar dengan alamat email sebagai nama pengguna mereka, mereka dapat mengubah nama pengguna ke alamat email lain, tetapi mereka tidak dapat mengubahnya menjadi nomor telepon. Jika mereka mendaftar dengan nomor telepon, mereka dapat mengubah nama pengguna ke nomor telepon lain, tetapi mereka tidak dapat mengubahnya menjadi alamat email.
Gunakan langkah-langkah berikut selama proses pembuatan kumpulan pengguna untuk mengatur pendaftaran dan masuk dengan alamat email atau nomor telepon.
Untuk mengonfigurasi kumpulan pengguna untuk mendaftar dan masuk dengan alamat email atau nomor telepon
-
Pergi ke Amazon Cognito
di. AWS Management Console Jika konsol meminta Anda, masukkan AWS kredensional Anda. -
Pilih Kolam Pengguna.
-
Di sudut kanan atas halaman, pilih Buat kumpulan pengguna untuk memulai panduan pembuatan kumpulan pengguna.
-
Di bawah opsi masuk kumpulan pengguna Cognito, pilih kombinasi Email dan Nomor Telepon yang mewakili atribut yang dapat digunakan pengguna untuk masuk.
-
Pilih Berikutnya, dan kemudian selesaikan langkah-langkah yang tersisa di wizard.
catatan
Anda tidak perlu menandai alamat email atau nomor telepon sebagai atribut yang diperlukan untuk kumpulan pengguna Anda.
Untuk menerapkan opsi 2 di aplikasi
-
Hubungi
CreateUserPool
API untuk membuat kumpulan pengguna Anda. Atur parameterUserNameAttributes
kephone_number
,email
, atauphone_number | email
. -
Panggil
SignUp
API dan berikan alamat email atau nomor telepon diusername
parameterAPI. Ini API melakukan hal berikut:-
Jika
username
string dalam format alamat email yang valid, kumpulan pengguna secara otomatis mengisiemail
atribut pengguna denganusername
nilai. -
Jika string
username
dalam format nomor telepon yang valid, kolam pengguna secara otomatis mengisi atributphone_number
dari pengguna dengan nilaiusername
. -
Jika format
username
string tidak dalam alamat email atau format nomor telepon,SignUp
API mengembalikan pengecualian. -
Ini
SignUp
API menghasilkan persisten UUIDuntuk pengguna Anda, dan menggunakannya secara internal sebagai atribut nama pengguna yang tidak dapat diubah. Ini UUID memiliki nilai yang sama dengansub
klaim dalam token identitas pengguna. -
Jika
username
string berisi alamat email atau nomor telepon yang sudah digunakan, maka akanSignUp
API mengembalikan pengecualian.
-
Anda dapat menggunakan alamat email atau nomor telepon sebagai alias sebagai pengganti nama pengguna di semua APIs kecuali. ListUsers
API Saat Anda meneleponListUsers
, Anda dapat mencari berdasarkan phone_number
atribut email
atau. Jika Anda mencariusername
, Anda harus memberikan nama pengguna yang sebenarnya, bukan alias.
Atribut kustom
Anda dapat menambahkan hingga 50 atribut kustom ke kumpulan pengguna Anda. Anda dapat menentukan panjang minimum dan/atau maksimum untuk atribut kustom. Namun, panjang maksimum untuk setiap atribut kustom tidak boleh lebih dari 2048 karakter.
Setiap atribut kustom memiliki karakteristik sebagai berikut:
-
Anda dapat mendefinisikannya sebagai string atau angka. Amazon Cognito menulis nilai atribut khusus ke token ID hanya sebagai string.
-
Anda tidak dapat meminta pengguna memberikan nilai untuk atribut tersebut.
-
Anda tidak dapat menghapus atau mengubahnya setelah Anda menambahkannya ke kumpulan pengguna.
-
Panjang karakter dari nama atribut berada dalam batas yang diterima Amazon Cognito. Untuk informasi selengkapnya, lihat Kuota di Amazon Cognito.
-
Itu bisa berubah atau tidak berubah. Anda hanya dapat menulis nilai ke atribut yang tidak dapat diubah saat Anda membuat pengguna. Anda dapat mengubah nilai atribut yang dapat berubah jika klien aplikasi Anda memiliki izin tulis ke atribut tersebut. Untuk informasi selengkapnya, lihat Izin dan cakupan atribut.
catatan
Dalam kode Anda, dan dalam pengaturan aturan untukMenggunakan kontrol akses berbasis peran, atribut khusus memerlukan custom:
awalan untuk membedakannya dari atribut standar.
Anda juga dapat menambahkan atribut pengembang saat membuat kumpulan pengguna, di SchemaAttributes
properti CreateUserPool. Atribut pengembang memiliki dev:
awalan. Anda hanya dapat memodifikasi atribut pengembang pengguna dengan AWS kredensialnya. Atribut pengembang adalah fitur lama yang diganti Amazon Cognito dengan izin baca-tulis klien aplikasi.
Gunakan prosedur berikut untuk membuat atribut kustom baru.
Untuk menambahkan atribut kustom menggunakan konsol
-
Pergi ke Amazon Cognito
di. AWS Management Console Jika konsol meminta Anda, masukkan AWS kredensional Anda. -
Pilih Kolam Pengguna.
-
Pilih kumpulan pengguna yang ada dari daftar.
-
Pilih tab Sign-up experience, dan di bagian Atribut kustom, pilih Tambahkan atribut kustom.
-
Pada halaman Tambahkan atribut kustom, berikan detail berikut tentang atribut baru:
-
Masukkan Nama.
-
Pilih Jenis String atau Angka.
-
Masukkan panjang string Min atau nilai angka.
-
Masukkan panjang string Max atau nilai angka.
-
Pilih Mutable jika Anda ingin memberikan izin kepada pengguna untuk mengubah nilai atribut kustom setelah mereka menetapkan nilai awal.
-
-
Pilih Simpan perubahan.
Izin dan cakupan atribut
Untuk setiap klien aplikasi, Anda dapat mengatur izin baca dan tulis untuk setiap atribut pengguna. Dengan cara ini, Anda dapat mengontrol akses yang dimiliki aplikasi apa pun untuk membaca dan memodifikasi setiap atribut yang Anda simpan untuk pengguna Anda. Misalnya, Anda mungkin memiliki atribut kustom yang menunjukkan apakah pengguna adalah pelanggan yang membayar atau bukan. Aplikasi Anda mungkin dapat melihat atribut ini tetapi tidak mengubahnya secara langsung. Sebaliknya, Anda akan memperbarui atribut ini menggunakan alat administratif atau proses latar belakang. Anda dapat mengatur izin untuk atribut pengguna dari konsol Amazon Cognito, Amazon Cognito, atau. API AWS CLI Secara default, atribut kustom baru tidak tersedia sampai Anda menetapkan izin baca dan tulis untuk mereka. Secara default, saat membuat klien aplikasi baru, Anda memberikan izin baca dan tulis aplikasi untuk semua atribut standar dan kustom. Untuk membatasi aplikasi Anda hanya pada jumlah informasi yang diperlukan, tetapkan izin khusus ke atribut dalam konfigurasi klien aplikasi Anda.
Sebagai praktik terbaik, tentukan izin baca dan tulis atribut saat Anda membuat klien aplikasi. Berikan akses klien aplikasi Anda ke set minimum atribut pengguna yang Anda perlukan untuk pengoperasian aplikasi Anda.
catatan
DescribeUserPoolClienthanya mengembalikan nilai untuk ReadAttributes
dan WriteAttributes
saat Anda mengonfigurasi izin klien aplikasi selain default.
Untuk memperbarui izin atribut ()AWS Management Console
-
Pergi ke Amazon Cognito
di. AWS Management Console Jika konsol meminta Anda, masukkan AWS kredensional Anda. -
Pilih Kolam Pengguna.
-
Pilih kumpulan pengguna yang ada dari daftar.
-
Pilih tab Integrasi aplikasi, dan di bagian Klien aplikasi, pilih klien aplikasi dari daftar.
-
Di bagian Atribut baca dan tulis izin, pilih Edit.
-
Pada halaman izin baca dan tulis atribut Edit, konfigurasikan izin baca dan tulis Anda, lalu pilih Simpan perubahan.
Ulangi langkah-langkah ini untuk setiap klien aplikasi yang menggunakan atribut kustom.
Untuk setiap klien aplikasi, Anda dapat menandai atribut sebagai dapat dibaca atau dapat ditulis. Ini berlaku untuk atribut standar dan kustom. Aplikasi Anda dapat mengambil nilai atribut yang Anda tandai sebagai dapat dibaca, dan dapat menetapkan atau mengubah nilai atribut yang Anda tandai sebagai dapat ditulis. Jika aplikasi Anda mencoba menetapkan nilai untuk atribut yang tidak diizinkan untuk ditulis, Amazon Cognito akan kembali. NotAuthorizedException
GetUserpermintaan menyertakan token akses dengan klaim klien aplikasi; Amazon Cognito hanya mengembalikan nilai untuk atribut yang dapat dibaca klien aplikasi Anda. Token ID pengguna Anda dari aplikasi hanya berisi klaim yang sesuai dengan atribut yang dapat dibaca. Semua klien aplikasi dapat menulis atribut yang diperlukan kumpulan pengguna. Anda hanya dapat menyetel nilai atribut dalam API permintaan kumpulan pengguna Amazon Cognito saat Anda juga memberikan nilai untuk atribut wajib yang belum memiliki nilai.
Atribut khusus memiliki fitur berbeda untuk izin baca dan tulis. Anda dapat membuatnya sebagai mutable atau immutable untuk kumpulan pengguna, dan Anda dapat mengaturnya sebagai atribut baca atau tulis untuk klien aplikasi apa pun.
Atribut kustom yang tidak dapat diubah dapat diperbarui sekali, selama pembuatan pengguna. Anda dapat mengisi atribut yang tidak dapat diubah dengan metode berikut.
-
SignUp
: Pengguna mendaftar dengan klien aplikasi yang memiliki akses tulis ke atribut kustom yang tidak dapat diubah. Mereka memberikan nilai untuk atribut itu. -
Masuk dengan iDP pihak ketiga: Pengguna masuk ke klien aplikasi yang memiliki akses tulis ke atribut kustom yang tidak dapat diubah. Konfigurasi kumpulan pengguna Anda untuk idP mereka memiliki aturan untuk memetakan klaim yang diberikan ke atribut yang tidak dapat diubah. Ini mungkin tetapi tidak praktis, karena pengguna hanya akan dapat masuk satu kali. Pada upaya masuk setelah yang pertama, Amazon Cognito menolak upaya tersebut karena aturan pemetaan ke atribut yang sekarang tidak dapat ditulis.
-
AdminCreateUser
: Anda memberikan nilai untuk atribut yang tidak dapat diubah.
Izin atribut dengan cakupan
Di kumpulan pengguna yang Anda konfigurasikan dengan AWS SDK atauCDK, RESTAPI, atau AWS CLI, Anda dapat mengonfigurasi akses baca atau tulis klien aplikasi dengan OIDC cakupanoidc:profile
. oidc:profile
Hibah membaca atau menulis akses ke atribut standar berikut:
-
name
-
family_name
-
given_name
-
middle_name
-
nickname
-
preferred_username
-
profile
-
picture
-
website
-
gender
-
birthdate
-
zoneinfo
-
locale
Daftar ini adalah atribut OIDC standar minusemail
,phone_number
,sub
, danaddress
, sebagaimana didefinisikan dalam bagian 2.4 dari OIDC spesifikasi
Untuk mengonfigurasi klien aplikasi agar menulis ke atribut di bawah oidc:profile
cakupan, tetapkan nilai WriteAttributeskeoidc:profile
, ditambah atribut lain yang ingin Anda izinkan untuk diubah aplikasi, dalam UpdateUserPoolClientAPIpermintaan CreateUserPoolClientatau permintaan. Demikian pula, untuk memberikan akses baca ke atribut ini, tambahkan oidc:profile
nilai ReadAttributes.
Anda dapat mengubah izin dan cakupan atribut setelah Anda telah membuat kolam pengguna Anda.