API GatewayでJWT Authorizerを利用する際にAudienceを無制限にできますか

0

Cognitoにてユーザー認証とJWTトークンの払い出しを行い、その認可をもってAPI Gatewayへのアクセスを制限しようと考えています。 APIにアクセスするクライアントアプリは、ユーザーが自由に開発・利用できるAPIを提供することを目的としており、申請があれば都度Client IDが新しく発行されます。 このClient IDをJWT AuthorizerのAudienceとして追加しないとすべて401 (Unauthorized)となるようです。

Audienceのチェックを省略する(または、ワイルドカードのようなチェック方法を)設定がありますか。 または、目的に対して選んでいるサービスが不適切でしょうか。

1 Answer
0
Accepted Answer

Client IDをJWT AuthorizerのAudienceとして追加しないとすべて401 (Unauthorized)となる

以下のドキュメントに記載されたとおり、Cognito ユーザープールをオーソライザーとして使用するとユーザープールから発行されたアクセストークンまたは ID トークンで認証が可能で、Client ID の追加は不要と思われます。

https://docs.aws.amazon.com/ja_jp/apigateway/latest/developerguide/apigateway-integrate-with-cognito.html

profile picture
HS
answered 7 months ago
  • 以下に Cognito オーソライザーの設定例を載せて置きます。

    $ aws apigateway get-authorizer --rest-api-id ilhmkm5tyj --authorizer-id 0x9wz3 { "id": "0x9wz3", "name": "CognitoAuthorizer", "type": "COGNITO_USER_POOLS", "providerARNs": [ "arn:aws:cognito-idp:ap-northeast-1:111122223333:userpool/ap-northeast-1_ij1KNz8dk" ], "authType": "cognito_user_pools", "identitySource": "method.request.header.Authorization" }

  • 回答がありがとうございます。 HTTP APIを用いるとにオーソライザーに制約があることを失念していました。 REST APIを使うように変えたいと思います。

    ありがとうございます。

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.

Guidelines for Answering Questions