ネイティブエンジニアの古谷です。iOS,Androidのアプリ開発を中心に行なっております。 今回、絶賛開発中の案件で利用したCognitoを使ったOpenID連携の方法について記載したいと思います。 開発時にiOS側を担当していたので、iOS側の実装例を元に説明していきたいと思います。
- 利用した経緯
- とりあえず、ざっくりの全体像
- AWSコンソール側の設定
- 1.プロジェクトでの初期設定
- 2.IDプロバイダーの設定
- 3.IDプール側にIDプロバイダーを連携
- アプリ側の実装(iOS)
- 苦労したところ
- 最後に
利用した経緯
そのサービスでは下記の要件で開発をすることになってました。
- AWS AppSyncを利用したチャット機能を利用
- 認証機能を独自で作成
この2点から、AWS側にこちらが作成した認証機能を使って連携することができないかどうかというところで色々と調査を進めた形です。 調べたところウェブIdフェデレーションというものがあり、そちらを利用することでOpenID形式の認証であれば、その情報を元にAWSの権限を付与できるというものみたいです。 今回の方法は結構特殊なパターンだとは思うので、普通はユーザープールの管理をサーバ側でうまいことやって管理するものかなーとも思っています。
続きを読む