こんにちは。当アプリ(kvitanco)では、モバイルアプリをIonicにて作成しています。IonicはjavascriptとHTML にて作成するモバイルアプリで、そのまま普通のアプリとしてiTunesストアに公開することも可能です。
そんなIonicアプリですが、よく企業アプリのバックエンドとして使われるAWS Cognitoとの統合は難しい状況です。なぜ難しいのか、代替策には何があるのか?共有したいと思います。
目次
Ionicの最新版は3.9.2。Angular4.0でIonic1系統(Scopeを使うやつ)とは互換性が少ないので注意が必要です。
そしてこのAngular4.0は、TypeScript2.4.2異常でないと動きません。しかし、Cognitoは2.2でしか作動しない。そのため、Ionic3系統でawsブログに記載されているインテグレート(統合)マニュアルを試しても、エラーが出て先に進めません。
Cognitoのインテグレートにはaws-amplifyを使用する。AWSブログのチュートリアルは使用しない
昨年2017年11月のreInventというAWSのイベントで、Aws Cognitoのインテグレートにはaws-amplifyを使用するように仕様が変更されました。そのためIonic3へのcognito統合にはaws-amplifyを以下の要領で追加していく必要があります。
- awsmobileをインストール(cli)
- aws mobileHubにてcognito, Cloud logicを作成する
- ionic createをローカルで実施する。その際、awsを選ばない
- あとからawsmobile pullを実施し、ダウンロードしたaws-amplify.jsをプロジェクトフォルダに加える