Amplify

Amplify Gen2のLINEログイン時にLINEユーザーIDを保存する

前回、 Amplify Gen2のLINEログイン時にLINEのIDトークンを取得、検証できた。 今回はIDトークンの検証結果から、LINEユーザーIDを取得し、保存するまでをメモ。 環境 前々回・前回同様、 @aws-amplify/backend v1.0.4, @aws-amplify/backend-cli (ampx) v1.…

Amplify Gen2のLINEログイン時にIDトークンを保存する

前回、Amplify Gen2にLINEをOIDCプロバイダーとして登録し、ログインできるようにした。 続いて、LINE公式アカウントのユーザーと紐づけたいので、アクセストークンまたはIDトークンを取得できないか調べたところ、できたのでメモ。 環境 調査 実装 amplify/…

Amplify Gen2でブランチ環境のデプロイ時に「Cannot find module '$amplify/env/...」が発生する

Amplify Gen2 + Next.js v14で作成したアプリケーションにて、Lambda関数内にて環境変数を参照するため、 import { env } from '$amplify/env/<関数名>' を記述したところ、ブランチ環境のデプロイ時にエラーが発生するようになった。 対応方法を調べたので…

Amplify Gen2でGoogleなどの外部IDプロバイダー認証を設定する

Amplify Gen1からGen2に移行する際、Google認証の設定を行ったが、公式ドキュメント通りに進めるとエラーが発生したのでメモ。 環境 外部IDプロバイダー設定方法 Google認証の設定手順 OAuthクライアントIDの作成 Amplifyのシークレット作成 amplify/auth/re…

AWS AmplifyでNode.js v18を使うと「GLIBC not found」が発生する

最近新たに開始したプロジェクトで、開発環境をNode.js v18 + Next.js v13に更新した。検証のためにAWS Amplifyにデプロイしたがエラーが発生。 ちょっと調べるとあるあるらしいので、何番煎じかわからないが対応方法をメモ。 環境 Node.js v18.16.1, Next.j…

Next.js + TypeScript + AWS AmplifyのプロジェクトでJest実行時に「SyntaxError: Unexpected token 'export'」が発生する

Next.js と AWS Amplify を使ったプロジェクトで、TypeScriptのファイルに対してJestのテストを書いたら、 SyntaxError: Unexpected token 'export' エラーが発生。 このエラー自体はよくあるやつだが、設定を大きくいじらず解決する方法を調べるのに結構時…

Amplifyで作成したLambdaにロールを付与してSESでメール送信する

前回の続き。 LambdaからSESによるメール送信を行う方法として、前回はIAMを作成し、アクセスキーを使ったが、今回はLambdaにロールを付与してみる。 環境 実装 Lambdaの作成 Lambdaへのロール付与 Lambdaの実装 GraphQL定義およびコードからの呼び出し 振り…

Amplifyで作成したLambdaからアクセスキーを用いてSESでメール送信する

Amplifyで作成したアプリケーションでメール送信をしようと思い、Lambda経由でSESを呼んでみた。 メール送信用のIAMを作成してアクセスキーを使うパターンと、LambdaにSESでのメール送信権限を付与するパターン、両方試したが、まずはアクセスキーを用いるパ…

AWS Amplifyでビルドに失敗する

新規プロジェクトにて、バックエンドにAWS Amplifyを使うことにした。 Gitリポジトリと連携して、開発ブランチに変更があるたびにAWS側でビルドするように設定したが、いくつかの原因でビルドに失敗したのでメモ。 環境 問題1 問題1の対応 問題2 問題2の対応…