血と汗となみだを流す

クラウドエンジニアになるための修業の場

Developers.ioの記事を読んでやってみる「Angular+Cognito」①

対象

目的

やってみる

前提

  • 機能を理解するのが目的なので、terraformは使わずにAWSコンソールからポチポチ
  • ローカル環境はMac

Cognito User Pool作成

  • User Pool作成 f:id:Anorlondo448:20180428062658p:plain f:id:Anorlondo448:20180428062707p:plain
  • アプリクライアント追加(名前のみであとはデフォルト) f:id:Anorlondo448:20180428063035p:plain
  • 作成 f:id:Anorlondo448:20180428063118p:plain

ユーザ登録

  • ユーザ作成
    • デフォルトのパスワードポリシーは「数字」「英字」「記号」「大文字」を含む8文字以上 f:id:Anorlondo448:20180428063454p:plain

ユーザ登録時のエラーっぽいやつ

  • 「この新規ユーザーに招待を送信しますか?」にチェックを入れ「SMS」「Eメール」どちらにもチェックしなかったら・・・ f:id:Anorlondo448:20180428064130p:plain
  • user pool does not have SMS configuration to send messageというエラーが出つつも
  • ユーザ自体は作成されている。 f:id:Anorlondo448:20180428064216p:plain
  • ちなみに正常に登録したユーザはEメールが届いていた f:id:Anorlondo448:20180428064651p:plain
  • エラーというかWarning?

API Gateway

  • [APIの作成]→[APIの例]→[インポート] f:id:Anorlondo448:20180428064902p:plain
  • PetStoreというのが作成される f:id:Anorlondo448:20180428065026p:plain

オーソライザーの作成

  • 新しいオーソライザー作成
    • タイプ: Cognito
    • Cognitoユーザプール: 上記で作ったやつ
    • トークンのソース: Authorization
      • リクエストから認証としてCognito User Poolに送信するために選択するヘッダー f:id:Anorlondo448:20180428065317p:plain f:id:Anorlondo448:20180428065421p:plain

認証設定

  • [PetStore]→[リソース]→[/petsのGET]
  • Cognitoユーザプールオーソライザーが出てこない・・・ f:id:Anorlondo448:20180428070052p:plain
  • しばらく待って画面をリロードしたら出た(なぜ・・・?) f:id:Anorlondo448:20180428070521p:plain

デプロイ

  • deploy(「デプロイ」は英語で書いていくタイプ) f:id:Anorlondo448:20180428070635p:plain
  • 動作確認
  • [ステージ名]-GETで表示されるURLの呼び出しにアクセスしてみる f:id:Anorlondo448:20180428070938p:plain
  • Unauthorizedが表示 f:id:Anorlondo448:20180428071004p:plain

感想とかまとめ

  • API Gatewayの認証設定で最初Cognitoユーザプールオーソライザーが表示されなかったのなんだったんだ・・・?
  • 今回は準備だけだったので、オーソライザーがどのように絡んでくるのか楽しみ
  • 時間切れなので、続きは次回やっていく