【ruby】 aws cognitoのアドレスを変更する
cognitoつかっためも
前提
やりたいこと
- cognito上のattributeを更新
- emailを更新する
- email_
- DB上のemailを更新
雑にメモ
以下はcognitoのSDKのメソッド
- admin_get_user
- https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/CognitoIdentityProvider/Client.html#admin_get_user-instance_method
- cognito内のuuidみたいなusernameが必須なので使えなそう
- DB上にはemailしかないので・・・
# ドキュメントから引用 # usernameが必須なので無理そう resp = client.admin_get_user({ user_pool_id: "UserPoolIdType", # required username: "UsernameType", # required })
- list_users
# list_usersの引数のfilterにemailを指定して、where句みたいにする client.list_users( user_pool_id: user_pool_id, filter: "email = \"#{email}\"" ).users.first
admin_update_user_attributes
ドキュメントから引用
client.admin_update_user_attributes({ user_pool_id: "UserPoolIdType", # required username: "UsernameType", # required user_attributes: [ # required { name: "email", # 変更後のemail value: "changed_email", }, { name: "email_verified", # emailが承認されているかどうか value: "true", }, ], client_metadata: { "StringType" => "StringType", }, })