我想将 Cognito 授权添加到我的 API 请求中,以便 API 网关可以将信息传递到我的 Lambda。我在其他线程中读到我应该添加 id token 作为授权 header ,所以这就是我到目前为止所尝试的。
我尝试过以下方法:
fetch('api/public/libraries/sign-out-discourse', {
method: 'POST',
headers: new Headers([
// I get the idToken from CognitoUser.getSession => getIdToken()
['Authorization', idToken],
]),
})
我收到错误消息
{"message":"'Object]' not a valid key=value pair (missing equal-sign) in Authorization header: '[object Object]'."}
我尝试过以下方法:
fetch('api/public/libraries/sign-out-discourse', {
method: 'POST',
headers: new Headers([
// I get the idToken from CognitoUser.getSession => getIdToken().getJwtToken()
['Authorization', jwtToken],
]),
})
我收到错误消息:
{"message":"Authorization header requires 'Credential' parameter. Authorization header requires 'Signature' parameter. Authorization header requires 'SignedHeaders' parameter. Authorization header requires existence of either a 'X-Amz-Date' or a 'Date' header. Authorization=eyJraWQiOiJOemhFe..."}
将授权信息传递给 API 的正确方法是什么?
最佳答案
我认为您使用 New Headers() 方法的解决方案可能有点过于复杂。
试试这个:
fetch('api/public/libraries/sign-out-discourse', {
method: "POST",
headers: {
'Authorization': jwtToken
}
});
关于amazon-web-services - 如何为API请求添加Cognito授权?这样 Lambda 就可以访问它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52665550/