我们使用AWS Lambda授权器和API网关来保护我们的下游API。
下面是我们基于Java的lambda授权程序的代码片段
Statement statement = Statement.builder()
.resource(input.getMethodArn()).effect(effect)
.build();
PolicyDocument policyDocument = PolicyDocument.builder()
.statements(
Collections.singletonList(statement)
).build();
return AuthorizerResponse.builder()
.principalId(userId)
.policyDocument(policyDocument)
.context(ctx)
.build();具有正确标记的
获得正确的API响应
带有不正确令牌的
我们需要401 (“未经授权”)作为回应,有人能帮助如何做到这一点吗?我们有用java编写的lambda授权程序。
发布于 2021-10-01 06:03:10
您可以向RuntimeException抛出未经授权的消息。有一件事是要记住的,你不能抛出异常之类的检查异常(“未经授权”)。因为RequestHandler接口的handleRequest方法签名不允许这样做。
if(isInvalidToken){
throw new RuntimeException("Unauthorized");
}发布于 2020-12-23 00:24:25
尝试抛出带有“未经授权”消息的异常。
https://stackoverflow.com/questions/63990790
复制相似问题