通过自定义授权方方法使用 Auth0 授权 AWS APIGateway
Authorizing AWS APIGateway using Auth0 by custom authorizer approach
前端的技术堆栈是 reactJS,后端由 APIGateway 和 Lambda 提供支持。我在我的反应应用程序中使用 Auth0 作为身份服务。通过 Auth0 提供的社交登录之一进行身份验证时,我返回 access_token
、id_token
和 expiry_time
。此外,我可以使用 id_token
获取 用户信息 ,例如 emailId
。现在,我需要 protect/prevent 访问我的后端,即 API 网关和 Lambda。
有很多选项可以保护对 AWS API 网关的访问,例如 IAM 授权方、自定义授权方。有一个关于如何使用 IAM authorizer with Auth0 的 Auth0 文档。我想知道如何使用自定义授权方。我了解自定义授权方工作原理的高级架构。
以下是我关于自定义授权方的问题:
1Q. 通过使用 react auth0 身份验证模块,我得到了 access_token
、id_token
和 expiry
。收到的 access_token 不是 JWT。如何获得 JWT access_token,以便我可以通过授权 header.
2Q. 我在 Auth0 仪表板中看到一个名为 APIs 的单独部分。这是非常混乱和模棱两可的。据我了解,此 Auth0 的 API 部分需要单独调用 Auth0 服务器并接收新的 access_token,这与社交登录的访问令牌不同。为什么我不能使用来自 React 的 Auth 客户端的访问令牌?我可能错了,但我不明白 Auth0.
中的 API 部分
3Q. 假设不知何故,我在授权 header 中发送了 access_token,我如何在 自定义授权方的拉姆达。有几篇博客 post 对此进行了讨论,但每个 post 都遵循不同的方法。有些人使用 id_token
进行验证,其他人使用 jwt package
进行解码,但我没有看到对 Auth0 的验证调用。
有一些博客 post 是关于使用 Auth0 授权 API 网关的,但它们不是 old/deprecated 就是使用一些 hack 来授权它。如果我们可以记录使用 Auth0 授权 API 网关的正确方法,那就太好了。
在与 Auth0 支持团队交谈后,我找到了上述问题的答案。这是详尽的指南,解释了使用自定义授权器的 APIGateway 和 Auth0 集成。 https://github.com/lakshmantgld/auth0-APIGateway-CustomAuthorizer
前端的技术堆栈是 reactJS,后端由 APIGateway 和 Lambda 提供支持。我在我的反应应用程序中使用 Auth0 作为身份服务。通过 Auth0 提供的社交登录之一进行身份验证时,我返回 access_token
、id_token
和 expiry_time
。此外,我可以使用 id_token
获取 用户信息 ,例如 emailId
。现在,我需要 protect/prevent 访问我的后端,即 API 网关和 Lambda。
有很多选项可以保护对 AWS API 网关的访问,例如 IAM 授权方、自定义授权方。有一个关于如何使用 IAM authorizer with Auth0 的 Auth0 文档。我想知道如何使用自定义授权方。我了解自定义授权方工作原理的高级架构。
以下是我关于自定义授权方的问题:
1Q. 通过使用 react auth0 身份验证模块,我得到了 access_token
、id_token
和 expiry
。收到的 access_token 不是 JWT。如何获得 JWT access_token,以便我可以通过授权 header.
2Q. 我在 Auth0 仪表板中看到一个名为 APIs 的单独部分。这是非常混乱和模棱两可的。据我了解,此 Auth0 的 API 部分需要单独调用 Auth0 服务器并接收新的 access_token,这与社交登录的访问令牌不同。为什么我不能使用来自 React 的 Auth 客户端的访问令牌?我可能错了,但我不明白 Auth0.
中的 API 部分3Q. 假设不知何故,我在授权 header 中发送了 access_token,我如何在 自定义授权方的拉姆达。有几篇博客 post 对此进行了讨论,但每个 post 都遵循不同的方法。有些人使用 id_token
进行验证,其他人使用 jwt package
进行解码,但我没有看到对 Auth0 的验证调用。
有一些博客 post 是关于使用 Auth0 授权 API 网关的,但它们不是 old/deprecated 就是使用一些 hack 来授权它。如果我们可以记录使用 Auth0 授权 API 网关的正确方法,那就太好了。
在与 Auth0 支持团队交谈后,我找到了上述问题的答案。这是详尽的指南,解释了使用自定义授权器的 APIGateway 和 Auth0 集成。 https://github.com/lakshmantgld/auth0-APIGateway-CustomAuthorizer