Ild*_*dar 7 amazon-web-services aws-lambda aws-cognito
我使用 AWS Lambda + Cognito(用户池 + 联合身份)+ API 网关。用户使用amazon-cognito-identity-js在 WEB 应用程序中进行身份验证,并使用aws-api-gateway-client调用 API 。API 网关方法具有 AWS_IAM 授权方。如何在 Lambda 函数中获取用户名(来自用户池)?
使用在请求标头中aws-api-gateway-client传递 JWT 来修改发送到 Lambda 函数的请求。ID Token您可能需要确保您的 API 网关配置为转发标头。
apigClient.invokeApi(
params,
pathTemplate,
method,
{ { headers: { IDToken } } },
body);
Run Code Online (Sandbox Code Playgroud)
此处应使用 ID 令牌,因为其有效负载包含cognito:username字段
ID Token使用 进行身份验证后获得amazon-cognito-identity-js。
您可以在 lambda 处理程序函数中从请求标头解析此字段。
在信任其有效负载的内容之前验证其签名。
import { util } from 'aws-sdk/global';
exports.handler = function(event, context) {
// Parse ID Token from request header
const headers = event.headers;
const idToken = headers.IDToken;
...
};
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6440 次 |
| 最近记录: |