Amazon Cognitoパスワードリセット時に 「Invalid input: Could not reset password...」 エラーが発生する場合の原因と対処法

Amazon Cognitoパスワードリセット時に 「Invalid input: Could not reset password...」 エラーが発生する場合の原因と対処法

2026.01.13

困っていること

Amazon Cognito のログイン画面(Managed Login)でパスワードリセットを行おうとすると、以下のエラーが発生します。原因と対処法を教えてください。

Invalid input: Could not reset password for the account, please contact support or try again

cm-hirai-screenshot 2025-11-20 13.29.19

回答

今回のケースでは、Amazon Cognito ユーザープールの設定において、「MFA(多要素認証)の方法」と「アカウント復旧メッセージの配信方法」の両方に「Eメール」が設定されていることが原因でした。

cm-hirai-screenshot 2025-12-24 16.12.43

これは、Eメール MFA を有効にしている状態で、復旧チャネルとしても Eメール を設定しているためです。

MFA の方法から「Eメール」を削除し、「Authenticator アプリケーション」のみに設定することで、パスワードリセット時のエラーは解消されます。

Amazon Cognito のセキュリティモデルでは、MFA とアカウント復旧方法の分離が求められます。そのため、仕様上「同一チャネル(この場合はEメール)を MFA と復旧の両方に使用する構成」は制限されており、復旧処理(Forgot Password)が拒否されます。

公式ドキュメントにも以下の記載があります。

ユーザーが希望する MFA の方法は、パスワードの復旧に使用できる方法に影響します。希望する MFA を E メールメッセージにしたユーザーは、パスワードリセットコードを E メールで受信できません。
https://docs.aws.amazon.com/ja_jp/cognito/latest/developerguide/user-pool-settings-mfa.html

補足:エラーログについて

今回のエラーメッセージは汎用的なものであり、CloudTrail のログを確認しても errorCode: 400 / errorMessage: Unexpected exception と記録されるのみで、具体的な原因(MFAと復旧設定の競合)までは特定できません。

もし、設定を確認して「Eメール」が重複していない場合は、別の原因も考えられます。

参考までに、今回の事象発生時の CloudTrail ログは以下の通りです。

一部省略
{
    "eventVersion": "1.10",
    "userIdentity": {
        "type": "Unknown",
        "accountId": "111111111111"
    },
    "eventTime": "2025-11-20T04:29:10Z",
    "eventSource": "cognito-idp.amazonaws.com",
    "eventName": "forgotPassword_POST",
    "awsRegion": "ap-northeast-1",
    "errorCode": "400",
    "errorMessage": "Unexpected exception",
    "requestParameters": null,
    "responseElements": null,
    "additionalEventData": {
        "managedLoginBrandingVersion": 2,
        "requestParameters": {
            "_data": "<REDACTED>",
            "client_id": "54npv9argq2hu6cv829890t4gp",
            "redirect_uri": "https://xxxx.info/oauth2/idpresponse",
            "response_type": "code",
            "scope": "<REDACTED>",
            "state": "<REDACTED>"
        },
        "userPoolDomain": "ap-northeast-1qkdudjdsc",
        "responseParameters": {
            "status": 400
        },
        "userPoolId": "ap-northeast-1_qKDUdJdsc",
        "clientId": "54npv9argq2hu6cv829890t4gp"
    },
    "requestID": "2c2ae5ff-3f28-4235-a47a-a4bca5cd34bc",
    "eventID": "9d8a83b1-d5e8-4461-9283-ab4a3f13a573",
    "readOnly": false,
    "resources": [
        {
            "type": "AWS::Cognito::UserPool",
            "ARN": "arn:aws:cognito-idp:ap-northeast-1:111111111111:userpool/ap-northeast-1_qKDUdJdsc"
        }
    ],
    "eventType": "AwsServiceEvent",
    "managementEvent": true,
    "recipientAccountId": "111111111111",
    "eventCategory": "Management",
    "tlsDetails": {
        "tlsVersion": "TLSv1.2",
        "cipherSuite": "ECDHE-RSA-AES128-GCM-SHA256",
        "clientProvidedHostHeader": "cognito-ui.auth.ap-northeast-1.amazoncognito.com"
    }
}

同様のエラーメッセージが出る別の原因として、以下の記事も参考になります。
https://repost.aws/ja/knowledge-center/cognito-forgot-password

対応方法

MFA の方法から「Eメール」を削除し、「Authenticator アプリケーション」または「SMS」のみに設定することで解消されます。ここでは Eメール MFA を無効化する手順を説明します。

  1. Cognito コンソールで対象のユーザープールを選択し、「サインイン」を開きます。
  2. 「多要素認証」の編集画面を開きます。
    cm-hirai-screenshot 2025-12-24 16.20.50
  3. MFAの方法から「Eメールメッセージ」のチェックを外して保存します。
    cm-hirai-screenshot 2025-12-24 16.12.56

今回は MFA の設定から Eメール を除外する方法を紹介しましたが、逆に「ユーザーアカウントの復旧」の設定から Eメール を除外する方法でも解決可能です。
どちらの設定を優先するかは、要件(EメールによるMFAを必須とするか、Eメールによるパスワードリセットを必須とするか)に合わせて検討してください。

その他の回避策は、以下の記事も参考になります。
https://repost.aws/questions/QUoo4LlOvxR3qpssGRALda6w/cognito-forgot-password-won-t-work-with-email-mfa

注意点
MFA 方法を「Authenticator アプリケーション」のみに変更した場合、既に Eメール MFA を設定しているユーザーは、次回ログイン時に Authenticator アプリケーションの再設定(QRコードの読み取り等)が求められます。

設定変更後、再度パスワードリセットを行います。
cm-hirai-screenshot 2025-12-24 16.23.34

無事にパスワードリセットが成功しました。
cm-hirai-screenshot 2025-12-24 16.22.36

この記事をシェアする

FacebookHatena blogX

関連記事