考虑由 AWS-ApiGateway 和 -Lambda 组成的 RestAPI 后端。
成功进行 oauth2 身份验证后,AWS Cognito 在代码授权授予流程中向客户端返回
access_token
和 id_token
。
在API调用期间,lambda函数需要知道经过身份验证的客户端的电子邮件地址,所以我基本上有两个选择:
id_token
标头中的 Authorization
,该标头由 ApiGateway 验证并传递给 Lambda。让 Lambda 解密 id_token
并访问其中包含的电子邮件地址。access_token
标头中的 Authorization
,该标头由 ApiGateway 使用 scope=openid email
进行验证并传递给 Lambda。让 Lambda 使用 GET
标头中的 access_token对
/oauth2/userinfo
端点进行 Authorization
调用以获取电子邮件地址。两者哪一个是最佳实践?为什么?