gpt4 book ai didi

javascript - AWS 授权方返回 500,消息 : null,,响应中出现 AuthorizerConfigurationException 错误

转载 作者:行者123 更新时间:2023-12-05 03:39:57 24 4
gpt4 key购买 nike

我今天大部分时间都在努力让授权者工作,我检查了多个例子,它们似乎都在做我的代码所做的同样的事情。

我使用无服务器框架,这里是授权码:

exports.handler = function (event: APIGatewayTokenAuthorizerEvent): APIGatewayAuthorizerResult {
const authorizer = new Authorizer();

try {
if (!event.authorizationToken) throw new Error("No token");

const token = event.authorizationToken.split(" ")[1];
const decodedData = authorizer.verifyToken(token) as unknown as User;
const policy = generatePolicy(token, event.methodArn);

return {
...policy,
context: {
user: JSON.stringify(decodedData),
},
};
} catch (err) {
console.log(err);
throw "Unauthorized";
}
};

const generatePolicy = (principalId: string, methodArn: string) => {
return {
principalId,
policyDocument: {
Version: "2012-10-17",
Statement: [
{
Action: "execute-api:Invoke",
Effect: "Allow",
Resource: methodArn,
},
],
},
};
};

这是无服务器配置

const serverlessConfiguration: AWS = {
service: "user-crud",
frameworkVersion: "2",
custom: {
webpack: {
webpackConfig: "./webpack.config.js",
includeModules: true,
},
},
plugins: ["serverless-webpack"],
provider: {
name: "aws",
runtime: "nodejs14.x",
region: "eu-west-1",
apiGateway: {
minimumCompressionSize: 1024,
shouldStartNameWithService: true,
},
environment: {
AWS_NODEJS_CONNECTION_REUSE_ENABLED: "1",
},
lambdaHashingVersion: "20201221",
},

functions: {
jwtAuthorizer: {
handler: "src/api/authorizer.handler",
name: "jwtAuthorizer",
},
get: {
name: "get",
handler: "src/api/get.handler",
role: "arn:aws:iam::109394173706:role/dynamodb_cloudwatch_full",
events: [
{
http: {
path: "get",
method: "get",
cors: true,
authorizer: "jwtAuthorizer",
},
},
],
},

}...

当 token 正确并返回对象时,我总是得到 500 响应,所以我猜返回对象有问题吗?

如果 token 不正确并且我抛出“未经授权”,那么我会返回正确的 401 响应。

最佳答案

显然,处理程序需要是异步的,否则,它需要一个回调...时间花得值:|

关于javascript - AWS 授权方返回 500,消息 : null,,响应中出现 AuthorizerConfigurationException 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68339864/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com