AWS Cognito のパスワード初期化について
エラーというわけではないのですが、質問したいです。
現在、AWS Amplifyを使ってアプリを作成しているのですが、パスワードを忘れた場合のパスワードリセット機能がうまく作れなくて困っています。
具体的には、元々用意されているパスワードリセットのメソッドに渡す引数についてです。
この引数はCognitoUserPoolに登録したユーザーのUsernameなのですが、この値はユーザーを登録した時に内部で自動的にランダム生成されるものです。調べた限りではこのUsernameはログインしてユーザー情報を取得するまでは知ることができないようです。
なので解決方法として、Usernameをメールアドレス等の覚えていられるものに変更する方法、もしくはログインせずにUsernameを取得する方法を教えていただけたら助かります。(別の策でも歓迎です。)
同じような実装をしたことがあり、同様の理由でうまくいかなかったというような報告でもありがたいです。
AmplifyのAuth機能でCognitoを使用しています。現状、そもそもAmplifyを使わない、Cognitoを使わないといったことはしないつもりです。
発生している問題・エラーメッセージ
エラーが発生しているわけではないです。
該当のソースコード
下記ソースコードのforgotPasswordに渡すusernameです。
https://aws-amplify.github.io/docs/sdk/ios/authentication
AWSMobileClient.default().forgotPassword(username: "my_username") { (forgotPasswordResult, error) in if let forgotPasswordResult = forgotPasswordResult { switch(forgotPasswordResult.forgotPasswordState) { case .confirmationCodeSent: print("Confirmation code sent via (forgotPasswordResult.codeDeliveryDetails!.deliveryMedium) to: (forgotPasswordResult.codeDeliveryDetails!.destination!)") default: print("Error: Invalid case.") } } else if let error = error { print("Error occurred: (error.localizedDescription)") } }
試したこと
AdminUpdateUserAttributesこのAPIを使用して登録したユーザー情報を変更しようとしましたが、自動で生成されるUsernameは変更できませんでした。
ランダム生成されるUsername
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。