I am configuring an app with various frontends (mobile and web apps) and a single API backend, powered by Lambda and accessed via AWS API Gateway.
As I\'m planning to us
You can use an access token with the same authorizer that works for the id token, but there is some additional setup to be done in the User Pool and the APIG.
Even when this extra setup is done you cannot use the built-in authorizer test functionality with an access token, only an id token. Typical 80% solution from AWS!
To use an access token you need to set up resource servers in the User Pool under App Integration -> Resource Servers
it doesn't matter what you use but I will assume you use
for the Identifier and you have one scope called api
.
No go to the method in APIG and enter the Method Request
for the method. Assuming this is already set up with an authorizer tested with the id token, you then add
to the Settings -> OAuth Scopes
section.
Just by adding the OAuth Scope it will make sure that the token now has to be an access token and an id token is no longer accepted.
This is detailed here: https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-enable-cognito-user-pool.html