如何在 AWS 自定义授权方中对用户进行身份验证?
How to authenticate user in AWS Custom authorizer?
我正在尝试在 API 网关中使用 AWS 自定义授权方。如果我理解正确,那么我应该在自定义授权方中对用户进行身份验证。我不知道是谁发出的请求。我应该使用我自己的服务通过令牌检测用户。对吗?
有多个可用的授权方选项
- IAM 授权方
- Cognito 授权方
- 自定义授权方
如果您使用 STS 颁发的令牌来授予对您的 AWS 资源的访问权限,那么您可以使用 IAM。
同样,Cognito 授权方将验证 Cognito Userpools id 令牌。
如果您有自己的认证方案或需要自定义认证机制,您可以使用自定义授权器。
只是想在这里加上我的 2 美分,这是流程:
一旦不记名令牌(您也可以使用 JWT)被颁发给
客户端(即移动 app/web 应用程序),客户端调用通过 API 网关创建、配置和部署的 REST API。
自定义授权器,是用Java写的lambda函数
(您可以使用 NodeJS、C#、Python 实现它),需要验证持有者令牌是否有效。在我的例子中,不记名令牌使用 SHA-512 算法进行哈希处理。所以我们基本上匹配如果令牌
存储在数据库中,客户端匹配出示的令牌。
如果令牌匹配,则自定义授权方 returns IAM 策略允许但
它令牌不正确然后它 returns IAM 策略拒绝,
API 网关根据自定义授权方的响应做出反应,如果策略允许它通过对后端的调用,否则它会 return HTTP 代码 403。
希望对您有所帮助。
我正在尝试在 API 网关中使用 AWS 自定义授权方。如果我理解正确,那么我应该在自定义授权方中对用户进行身份验证。我不知道是谁发出的请求。我应该使用我自己的服务通过令牌检测用户。对吗?
有多个可用的授权方选项
- IAM 授权方
- Cognito 授权方
- 自定义授权方
如果您使用 STS 颁发的令牌来授予对您的 AWS 资源的访问权限,那么您可以使用 IAM。
同样,Cognito 授权方将验证 Cognito Userpools id 令牌。
如果您有自己的认证方案或需要自定义认证机制,您可以使用自定义授权器。
只是想在这里加上我的 2 美分,这是流程:
一旦不记名令牌(您也可以使用 JWT)被颁发给 客户端(即移动 app/web 应用程序),客户端调用通过 API 网关创建、配置和部署的 REST API。
自定义授权器,是用Java写的lambda函数 (您可以使用 NodeJS、C#、Python 实现它),需要验证持有者令牌是否有效。在我的例子中,不记名令牌使用 SHA-512 算法进行哈希处理。所以我们基本上匹配如果令牌 存储在数据库中,客户端匹配出示的令牌。
如果令牌匹配,则自定义授权方 returns IAM 策略允许但 它令牌不正确然后它 returns IAM 策略拒绝,
API 网关根据自定义授权方的响应做出反应,如果策略允许它通过对后端的调用,否则它会 return HTTP 代码 403。
希望对您有所帮助。