2017-07-24 41 views
1

我正在尝试在API网关中使用AWS自定义授权程序。如果我理解正确,那么我应该在自定义授权者身份验证用户。我不知道是谁发送了这个请求。我应该使用我自己的服务通过令牌检测用户。对?如何验证AWS Custom Authorizer中的用户?

回答

1

可以使用多种授权选项

  • IAM授权
  • Cognito授权
  • 自定义授权

如果使用颁发的令牌授予访问您的AWS资源,那么你可以STS使用IAM。

同样,Cognito授权人将认证Cognito Userpools id令牌。

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

1

只是想在这里补充我的2美分,这里是流量:

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

  2. 自定义授权程序(用Java编写的 (您可以使用NodeJS,C#,Python实现它)中的lambda函数)需要验证载体令牌是否有效。在我的情况下,使用SHA-512算法散列持票人令牌。因此,如果存储在数据库中的令牌 和客户端匹配的令牌基本匹配。

  3. 如果令牌则匹配,自定义授权返回IAM政策允许,但 它的令牌不正确则返回IAM政策拒绝,

API网关严正基于从定制授权的响应,如果政策允许它通过呼叫到后端,否则它会返回HTTP代码403.

希望它会有所帮助。