0

技术堆栈的前端为reactJS,后端由APIGateway和Lambda支持。我在我的反应App中使用Auth0作为身份服务。在通过Auth0给出的社交登录验证身份之后,我返回access_tokenid_tokenexpiry_time。此外,我可以使用id_token获得用户信息,例如emailId。现在,我需要保护/阻止访问我的后端,即APIGateway和Lambda。通过定制授权方法使用Auth0对AWS APIGateway进行授权

有很多的选择,以保护访问AWS APIGateway像IAM授权定制授权。有关于如何使用IAM authorizer with Auth0的Auth0文档。我想知道,如何使用自定义授权者。我了解定制授权人工作原理的高级架构。

这里是我的关于自定义授权问题:

1Q。通过使用react auth0认证模块,我找回了access_tokenid_tokenexpiry。收到的access_token不是JWT。如何获得JWT access_token,以便我可以通过Authorization标头传递它。

2Q。我在Auth0仪表板中看到一个名为API的单独部分。这是非常混乱和模棱两可的。在我的理解中,这个Auth0的API部分需要单独调用Auth0服务器并接收新的access_token,这与社交登录的访问令牌不同。为什么我不能使用来自react的Auth客户端的访问令牌?我可能是错的,但我不了解Auth0中的这个API部分。

3Q。假设以某种方式,我发送access_token在授权标头中,我如何验证在定制授权人的Lambda。有几篇关于此的博文,但每篇文章都采用了不同的方法。有些使用id_token进行验证,有些使用jwt package进行解码,但是我没有看到验证呼叫到Auth0。

有一些关于授权APGateway Auth0的博客文章,但他们是旧的/不赞成或使用一些黑客来授权它。如果我们能够记录使用Auth0授权APGateway的正确方法,这将是件好事。

回答