kazu22002の技術覚書

PHPer, Golang, AWS エンジニアの日々

aws cognitoを利用したコードを試してみた(javascript)

aws cognitoを利用した認証を使ってみたく、コードを書いて試しているところです。

ほぼ参考のURLの記事でできます。

機能のイメージ

  • ユーザープール = 設定とユーザー管理
  • IDプール = ユーザーのIDの管理設定

機能を使う流れとして、

  • ユーザープールを作成し、管理するデータの設定(パラメータやセキュリティ)を作成する。
  • IDプールにて、一意のアカウントの判断をするサービスを設定する(Aws cognitoやgoogletwitterなど)
  • 実際のユーザーを作成する(javascriptなどAPIから作成)
  • ユーザープールにてユーザー管理が可能

機能が二つに別れているイメージがよくわかりませんでしたが、ユーザー管理とID管理で分けられている。と理解できてからは機能の理解度が上がったと思います。

コード

github.com

認証はaws consoleで行う想定でいます。

悩んでいるところ

  • statusが「CONFIRMED」になっていればsignin可能
  • aws consoleからユーザー作成するとstatusが「FORCE_CHANGE_PASSWORD」になる
  • 「FORCE_CHANGE_PASSWORD」から変更方法がcliからになる
  • ログイン後の認証処理が不明瞭
  • phpでサーバーでの認証の場合を試していない

個人的に使うケースはサーバーサイドで動いているプログラムに合わせたいため、サーバーのsessionで認証管理する場合が多くなりそう。

早めにコード試してみよう。

感想

設定はaws consoleの「ユーザープール」でほとんど行う感じ。

必須項目やメールでの認証など、ユーザープール設定画面で行います。IDプールは使うサービスを設定したら、ほとんど触らずにできそうです。

ユーザープールの設定が多いため、迷いましたが古いサービスのため情報がありますね。

javascriptの場合はsecret client設定をはずす必要があるので、注意です。

調べていると「AWS Amplify」の文字やドキュメントページに行くため、こちらを一度試した方がよさそうです。

参考

qiita.com

qiita.com