我最近接管了一个现有的 Java REST API(用 Micronaut 编写)。该 API 旨在部署在 AWS 上,使用 Lambda 运行“无服务器”,并使用 Cognito 进行身份验证。
对于开发人员,我显然只想在本地运行 API 并通过 Postman 请求进行调试。据我了解,Cognito 基本上不在此处。但是,控制器仍在使用主体名称进行某些操作,我想为其提供有效数据。
假设我的控制器有如下方法:
@Post
public HttpResponse<SomeResponse> createSomething(Principal principal, SomeRequest request) {
String username = principal.getName();
// ...
}
在运行时java.security.Principal
。AwsProxySecurityContext
如何在 Postman 中提供有效的令牌/身份验证标头,以便getName
返回我选择的字符串?如果不使用真正的 Cognito 就无法做到这一点,我会感到惊讶,因为一切都在本地运行。