Amazon Cognito User Pools のAuthorize APIを結局解読した

1度挫折したんですが、Node.js側からせめてサーバーサイドでも認証できました。
具体的なコードを(ほとんどコピーですが)以下のプロジェクトに上げました。

https://github.com/a-hisame/cognito-userpools-example

cognito-idpのGetAuthenticationDetailsとAuthenticateをそれぞれ定義して使っています。
詳しくはプロジェクト内の feature-list-ja.md あたりを読んでみてください。

これで、

  • ユーザの生成(+確認用コード付き)
  • ユーザのパスワードなどの再発行
  • ユーザの管理
  • アクティブユーザの閲覧
  • ユーザに紐付く一時IAMの発行

などがAWS Cognitoだけで完結できるようになりました *1。 すげぇ。

*1:厳密にはIAM RoleとかSTSとかをCognitoが使ってるけど、表面的には