-
Notifications
You must be signed in to change notification settings - Fork 362
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add support for authorizer REQUEST type #1113
Conversation
@hellno @javulticat @wrboyce can this PR get a review? |
@ppartarr Can you check why this is failing? You may need need to run |
Hi there! Unfortunately, this PR has not seen any activity for at least 90 days. If the PR is still relevant to the latest version of Zappa, please comment within the next 10 days if you wish to keep it open. Otherwise, it will be automatically closed. |
Hi there! Unfortunately, this PR was automatically closed as it had not seen any activity in at least 100 days. If the PR is still relevant to the latest version of Zappa, please open a new PR. |
Description
AWS gateway supports the use of Lambda authorizers to perform authorization (grant access to certain resources) based on a given authentication strategy (OpenID connect, basic auth, SAML etc). AWS Gateway offers two kinds of authorizers: REQUEST & TOKEN.
TOKEN authorizers receive the bearer token, like a JWT or a OAuth token.
REQUEST authorizers receive a combination of headers, query strings, stage variables and context variables.
Zappa only supports TOKEN authorizers, which is quite limiting since some authentication schemes may depend on information provided in the request.
This PR adds support for REQUEST authorizers. The authorizer config now takes a new
type
field as well as anidentity_sources
object which can be a combination of the various request expressions needed for theREQUEST
authorizer (header, query string, stage variable, or context). We don't explicity support multi stage variable since fields can appear multiple times e.g.For backwards compatibility, if the
type
of an authorizer is not specified, it defaults toTOKEN
.GitHub Issues
#847
Miserlou/Zappa#1159