OpenID ConnectのCode FlowでIDトークンを取得するLambda関数です。
- AWS CLI設定済み
- SAM CLI インストール済み
- Node.js 22.x
sam buildsam deploy --guided以下のパラメータを設定:
TokenEndpoint: OIDCプロバイダーのトークンエンドポイントClientId: OIDCクライアントIDClientSecret: OIDCクライアントシークレットRedirectUri: リダイレクトURI
sam deployGoogleでログインするためのURL(CLIENT_IDとREDIRECT_URIを実際の値に置き換えてください):
https://accounts.google.com/o/oauth2/v2/auth?response_type=code&client_id=CLIENT_ID&redirect_uri=REDIRECT_URI&scope=openid%20email%20profile&state=STATE
Google認証後、デプロイされたFunction URLに認可コードをクエリパラメータで送信:
https://your-function-url.lambda-url.region.on.aws/?code=AUTHORIZATION_CODE&state=STATE
{
"id_token": "eyJ...",
"access_token": "eyJ...",
"state": "state_value"
}