LoginSignup
61
43

More than 3 years have passed since last update.

Amazon Cognitoで発生する例外(Exception)をまとめてみた

Last updated at Posted at 2019-02-18

Amazon Cognito とは

ウェブアプリケーションやモバイルアプリケーションの認証、許可、ユーザー管理をしてくれる便利なサービス。
GoogleやTwitterなどのサードパーティとも連携できる優れもの。

エラーレスポンスの形式

基本的に以下の形式で与えられる。

Console
{
    code: "NotAuthorizedException",
    name: "NotAuthorizedException",
    message: "Incorrect username or password."
}
key value
code 例外コード
name 例外名
message 例外の詳細

例外一覧

主にSignUp, Verify, SignIn周りの例外をまとめた。

General(どのタイミングでも発生し得る)

InternalErrorException

Cognito内部での例外。余程のことが無い限り発生しないと思われる。

InvalidLambdaResponseException

Cognitoで指定できるトリガーLambda関数のレスポンスが無効である。

UnexpectedLambdaException

Cognitoで指定できるトリガーLambda関数内部で例外が発生。

ResourceNotFoundException

ResourceのID等の指定を間違っている可能性がある。そもそも作ってない説もある。

TooManyRequestsException

文字通り、requestを飛ばしすぎによる例外。

SignUp関連

CodeDeliveryFailureException

検証コードの配信に失敗した時に起こる。

InvalidEmailRoleAccessPolicyException

メールアドレス周りのRole関連による例外。

InvalidSmsRoleAccessPolicyException

これも権限周り。検証コードを発行する権限が無い。

InvalidSmsRoleTrustRelationException

これも権限周り。Roleの不一致(IDPoolやサードパーティ関連)

InvalidParameterException

必要なユーザー属性が足りなかったりした時に発生。

InvalidPasswordException

Cognito側で設定したパスワード要件を満たしていない時に発生する。

追記)パスワードの長さが足りない場合はInvalidParameterExceptionの方に引っかかるっぽい

SignIn関連

NotAuthorizedException

ユーザー認証に失敗した時。ユーザー名orパスワードが間違っています等のメッセージがいい例。

UserLambdaValidationException

Cognito側でユーザーの自己サインインを許可していない時などに起こる。

追記) ↓はSignUpの方です。

UsernameExistsException

既にユーザー名が使われている時に起こる。

UserNotConfirmedException

検証コードを入力する作業が完了していないユーザーがサインインしようとした時とか。これをキャッチして検証ページに飛ばすのが普通なのかな?

PasswordResetException

パスワードのリセットが必要な時に発生する例外。

Verify関連

CodeMismatchException

入力された検証コードが間違っている時に発生。

LimitExceededException

ログイン試行やコード検証試行の回数の上限に達した時に発生。

ExpiredCodeException

検証コードが期限切れになっている時に発生する。

UserNotFoundException

検証しようとしたメールアドレスが存在しない場合に発生する。

終わりに

Amazon Cognitoで発生する例外についてまとめました。
全てを網羅できていませんが、必要そうなものは大体ピックアップしました。
これ違うだろっていうのがあれば修正リクエストお願いします。
こちらでも気付き次第修正します。

61
43
3

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
61
43