Skip to content
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

Closed
wants to merge 9 commits into from
Closed

Conversation

ppartarr
Copy link

@ppartarr ppartarr commented Feb 25, 2022

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 an identity_sources object which can be a combination of the various request expressions needed for the REQUEST authorizer (header, query string, stage variable, or context). We don't explicity support multi stage variable since fields can appear multiple times e.g.

"authorizer": {
  "type": "REQUEST",
  "function": "auth.lambda_handler",
  "identity_sources": {
    "headers": ["Authorization", "Host"],
    "stage_variables": ["prod", "dev"]
  },
}

For backwards compatibility, if the type of an authorizer is not specified, it defaults to TOKEN.

GitHub Issues

#847
Miserlou/Zappa#1159

@ppartarr
Copy link
Author

ppartarr commented Feb 28, 2022

@hellno @javulticat @wrboyce can this PR get a review?

@monkut
Copy link
Collaborator

monkut commented Nov 12, 2022

@ppartarr Can you check why this is failing? You may need need to run make isort / make black.

Copy link

github-actions bot commented Apr 3, 2024

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.

@github-actions github-actions bot added the no-activity [Bot] Closing soon if no new activity label Apr 3, 2024
Copy link

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.

@github-actions github-actions bot added the auto-closed [Bot] Closed, details in comments label Apr 13, 2024
@github-actions github-actions bot closed this Apr 13, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
auto-closed [Bot] Closed, details in comments no-activity [Bot] Closing soon if no new activity
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants