DjangoでCognitoの利用 ~その他~
本記事は、boto3を利用して行っている。
準備と前項については以下記事を参照。
確認コードの再発行
登録が完了する前に確認コードを忘れてしまった場合の再発行。
cognito.forgot_password(
ClientId=settings.APP_CLIENT_ID,
SecretHash=secletHash,
Username=userName
);パスワード変更
変更前のパスワードを利用して、パスワードの変更をおこなう。
認証がされていないとできない。
cognito.change_password(
PreviousPassword=[古いパスワード],
ProposedPassword=[新しいパスワード],
AccessToken=[アクセストークン]
);パスワード再発行
パスワードを発行するためには、二つの手順をおこなう必要がある。
1.パスワード再登録用に確認コードを発行。
2.パスワード再登録。
まず、パスワードの再登録用に確認コードを発行。
cognito.forgot_password(
ClientId=[APP_CLIENT_ID],
SecretHash=[ハッシュ値],
Username=[ユーザー名]
);次に、パスワードの再登録。
cognito.confirm_forgot_password(
ClientId=[APP_CLIENT_ID],
SecretHash=[ハッシュ値],
Username=[ユーザー名],
ConfirmationCode=[確認コード],
Password=[再登録パスワード]
);アクセストークンの再発行
アクセストークンは一定時間で無効になるため、期限が切れてしまっていた場合は、再発行が必要。
cognito.admin_initiate_auth(
UserPoolId=[POOL_ID],
ClientId=[APP_CLIENT_ID],
AuthFlow = "REFRESH_TOKEN_AUTH",
AuthParameters = {
"REFRESH_TOKEN": [リフレッシュトークン],
"SECRET_HASH" : [ハッシュ値],
}
);参考
CognitoIdentityProvider — Boto3 Docs 1.26.22 documentation (amazonaws.com)



