前提
SwiftUIでアプリを作成しています。
バックエンドにはAmplify SPMを利用しており、ユーザ管理はAmplifyを通じてCognitoを使用しています。
発生している問題・エラーメッセージ
発生している問題ですが
ユーザ登録時に入力したメールアドレスに確認コードが送られ、それを入力することでアプリ内でユーザが認証されCognito上のユーザステータスがCONFIRMEDになるのですが
確認コードが送られた後、入力フォームにコードを入力せずアプリから離脱した場合、Cognito上のユーザステータスがUNCONFIRMEDのユーザが残ってしまいます。
このユーザに再度確認コードを送信するためにはどのようにすれば良いでしょうか?
試したこと
試したこととしては
AmplifyのドキュメントにあるようにresendConfirmationCodeを実行しましたが
下記のエラーのようにSigninしておく必要があるというようなエラーが出ました。
Swift
1func resendCode() { 2 Amplify.Auth.resendConfirmationCode(for: .email) { result in 3 switch result { 4 case .success(let deliveryDetails): 5 print("Resend code send to - (deliveryDetails)") 6 case .failure(let error): 7 print("Resend code failed with error (error)") 8 } 9 } 10}
error
1Resend code failed with error AuthError: Could not resend attribute confirmation code, there is no user signed in to the Auth category 2Recovery suggestion: SignIn to Auth category by using one of the sign in methods and then call user attributes apis
よって、UNCONFIRMEDのユーザでもサインインができるのかと思い、サインインを試みましたが
error
1Sign in failed AuthError: User does not exist. 2Recovery suggestion: Make sure that the user is present in the backend 3Caused by:userNotFound
ユーザが見つからないようです。
この場合、どのように対応すれば良いでしょうか?
回答をよろしくお願いします。
補足情報(FW/ツールのバージョンなど)
Xcode Version 12.5.1
Swift SPM Amplify 1.13.3
@aws-amplify/cli 5.2.1
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。