Jus*_*use 3 javascript amazon-web-services aws-lambda aws-api-gateway aws-cognito
我已经在AWS上创建了RESTful API,并且正在尝试测试POST方法。我向api gatemway控制台的测试界面中的请求正文提供了一个示例请求,它会收到以下响应:
{
"Error": "Authorization not configured",
"Reference": "e6b7ec86-97fe-11e7-b480-ebefe7f11420"
}
Run Code Online (Sandbox Code Playgroud)
我最初将此设置为具有对相应表的读/写访问权限的Cognito用户池,但是却收到此错误消息。我尝试删除方法中的授权只是为了测试这一点,但再次收到此错误。
据我所知,我已经全面设置了授权。
trusted entities: AWS service: lambda)和AWSLambdaBasicExecutionRole我觉得我必须丢失一些明显的东西,但是在这里逐步进行时似乎一切都井然有序。非常感谢您的帮助,如果可以提供其他任何信息,请告诉我。
好吧,我在浏览了 WildRydes 教程和 Lambda 测试后发现了这一点。我需要将Authorization标头设置为当前用户的 JWT 令牌。我用以下函数做到了这一点:
getCurrentAuthToken: function (userPool) {
return new Promise(function fetchCurrentAuthToken (resolve, reject)
let cognitoUser = userPool.getCurrentUser()
if (cognitoUser) {
cognitoUser
.getSession(function sessionCallback (err, session) {
if (err) {
reject(err)
} else if (!session.isValid()) {
resolve(null)
} else {
resolve(session.getIdToken().getJwtToken())
}
})
} else {
resolve(null)
}
})
}
Run Code Online (Sandbox Code Playgroud)
并使用承诺的返回值在我的请求中设置Authorization标头。
| 归档时间: |
|
| 查看次数: |
1803 次 |
| 最近记录: |