Aws lambda &引用;缺少身份验证令牌“;飞行前的选择
我正在使用AWS提供的API网关,我有一个用于delete方法的无服务器(框架)端点。客户端正在使用Axios,配置如下:Aws lambda &引用;缺少身份验证令牌“;飞行前的选择,aws-lambda,axios,aws-api-gateway,serverless-framework,serverless,Aws Lambda,Axios,Aws Api Gateway,Serverless Framework,Serverless,我正在使用AWS提供的API网关,我有一个用于delete方法的无服务器(框架)端点。客户端正在使用Axios,配置如下: await Axios.delete(`${apiEndpoint}/todos/${todoId}`, { withCredentials: true, headers: { 'Content-Type': 'application/json', 'Authorization': `Bearer ${idToken}`
await Axios.delete(`${apiEndpoint}/todos/${todoId}`, {
withCredentials: true,
headers: {
'Content-Type': 'application/json',
'Authorization': `Bearer ${idToken}`
}
}).then..
此删除请求失败(403),显然是因为选项预飞行失败:
{“消息”:“缺少身份验证令牌”}
在这种情况下,最佳做法是什么
Framework Core: 1.60.1
Plugin: 3.2.6
SDK: 2.2.1
Components Core: 1.1.2
Components CLI: 1.4.0
不,你不能。我在Axios上也遇到了同样的问题。所有预授权请求都必须是匿名的。请参见Tomcat中的内容。那么规范是否需要它,浏览器也不会发送任何auth头,不管你做什么。谢谢@Michael-O,我通过为指向deleteTodo的相同lambda的选项创建了一个端点来解决这个问题,这远远不理想,仍然在研究无服务器框架,如果你有更多的见解,请告诉我!@martin,请注意飞行前选项请求不是常规的选项请求。你必须在这里进行区分。看看Tomcat中的过滤器,你会注意到。如果其他地方有解决方案,最好不要尝试解决这个问题。我在处理我的personal项目与AWS、serverless framework一起,解决了一个MissingAuthenticationToken和CQRS问题。我确实修改了serverless.yml和响应头。我希望这能有所帮助。
Framework Core: 1.60.1
Plugin: 3.2.6
SDK: 2.2.1
Components Core: 1.1.2
Components CLI: 1.4.0