February 22, 2016

AWSCognitoで認証情報の自動取得が動くようになってた

今まで iOS版の Cognito 使ってたのだが、60分経ったら credential が無効になって認証エラーになってしまうという問題があった。開発者は何もしなくても裏で勝手に refresh される、と書いてあったけど実際はされていなかったように見えたが(そういう報告をフォーラムに上げてる人も何人かいた)、直ってようやく気軽に使えそうな感じがする。 AWS Cognito の iOS SDK が 2.3.5 になって、修正された模様。

iOS版は、AWS MobileHub でテンプレートを作って試してみるのが手っ取り早かった。一番良いと思うのが、Cognito で認証してるときのid的なものをIAM側で変数として埋め込めるので、それと AWS APIGateway の URL をマッピングさせると、REST API と相性が良すぎる。

APIGateway は、Swagger で書いてインポートすると良い感じだが、完全に Swagger のフォーマットだけで出来るのかはよくわからない。APIGateway 側からエクスポートするとき、APIGateway 用の拡張情報込みのエクスポートというのが出来るので、それを使えば良いのかもしれない。

APIGateway のバックエンドに S3, DynamoDB, Lambda を使ってみたところ、ec2 (Rails)でやってた処理を大部分移すことが出来た。APIGateway を挟んでおけば、複雑なことをやりたくなったら、URL単位で処理を Rails に持ってくればよいのだが、Rails外にある様々な処理についてのテストをどのように書くかというのが悩みである。

© Chu 2017