OAuthをサーバーレスで作成したかったやったことCognitoの調査AWSの認証基盤であるCognitoの調査を行った。Gatewayの認証/認可が行けるのでは??」と甘く見積もるなどしたけど、結論しんどかった。Gatewayがデフォルトで認証/認可に対応している、便利。名前の通りUserPool機能も備えているので属性情報の格納もできる、凄い。ConnectのようなのでLINEとかも行けるっぽいTwitterに未対応だったため見送り。Identity同等のIDPの自由度があれば最高だった。Identity所謂認可用トークンの発行しか行わない模様。認証用IDの発行もするが、IAMと連携させないとうまい具合に認証ができないのが難点。認証の実装がまだ見えていない。(属性情報のベストプラクティスはやっぱりDynamoかな。Identityで発行するstsトークンでアクセスを行う。GatewayサービスでSDKが生成されるが汎用性が低く使いづらい。野良のライブラリ探すか汎化させるのが吉。IDPは複数対応しており、Twitterにも対応されている。Gatewayがデフォルトで認証/認可に対応している。httpへの署名はAuthenticationヘッダーにjwtを仕込むだけなのでテストも楽。Gatewayの前段に認可用の自前Lambdaを挟む事が可能。Identityに食わせる。2つのfunction。TwitterのログインURLの発行・リダイレクトを行う。Twitterからのリクエスト受け取り・アクセストークン発行・クライアントへのリダイレクトを行う。リダイレクトはLambdaプロキシ統合を使用して行う。指定し、IAMでの認可させる。auth_twitterTwitterのログイン画面へ飛ばす。Qiita所感マネージドサービス使っているはずが自前実装の箇所が多すぎて自前認証基盤作ったほうが後々幸せなんじゃないのだろうかと思う。メアド&パスワードで要件が満たせる案件であれば(イマドキなかなか難しそうな気はするけど...)、UserPool使うのがAWSでサーバレススタック使う上で一番楽なのかなと。BuildでCDをしたいので、する。4引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。