代码之家  ›  专栏  ›  技术社区  ›  Jerald

如何在AWS自定义授权器中对用户进行身份验证?

  •  1
  • Jerald  · 技术社区  · 9 年前

    我正在尝试在API网关中使用AWS自定义授权器。若我理解正确,那个么我应该在custom authorizer中对用户进行身份验证。我不知道是谁发出请求。我应该使用自己的服务通过令牌检测用户。正当

    2 回复  |  直到 9 年前
        1
  •  2
  •   Ashan    9 年前

    • 认知授权人

    如果您使用STS颁发的令牌授予对AWS资源的访问权限,则可以使用IAM。

    类似地,Cognito授权者将对Cognito用户池id令牌进行身份验证。

    如果您有自己的身份验证方案或需要自定义身份验证机制,则可以使用自定义授权器。

        2
  •  1
  •   Sagar Jani    8 年前

    只想在这里加上我的2美分,以下是流程:

    1. 一旦承载令牌(您也可以使用JWT)被颁发给 客户端(即移动应用程序/web应用程序),客户端调用通过API网关创建、配置和部署的REST API。

    2. 自定义授权器,是用Java编写的lambda函数 (可以使用NodeJS、C#、Python实现),需要验证承载令牌是否有效。在我的例子中,使用SHA-512算法对承载令牌进行散列。因此,如果令牌 存储在数据库中,由客户端提供的令牌匹配。

    3. 如果令牌不正确,则返回IAM策略拒绝,

    API网关根据来自自定义授权器的响应进行反应,如果策略允许它通过对后端的调用,否则它将返回HTTP代码403。