【发布时间】:2021-09-23 16:41:20
【问题描述】:
这是我实现业务逻辑的架构
type Query {
getLicenseInformation(localmd5: String): License @aws_cognito_user_pools
getUserInformation(username: String!): CognitoUser @aws_iam
listUsers(searchString: String): [NamedResource] @aws_iam
}
我使用 RestTemplate 作为我的 Java 客户端来使用提供 API 密钥作为授权的 graphql 端点。我在标题部分中将 api 密钥添加为 x-api-key。
RestTemplate restTemplate=new RestTemplate();
HttpHeaders requestHeaders = new HttpHeaders();
requestHeaders.set("x-api-key",api_key.getId());
requestHeaders.set("Content-Type","application/graphql");
HttpEntity entity = new HttpEntity(requestHeaders);
ResponseEntity<String> exchange = restTemplate.exchange(URL, HttpMethod.POST, new HttpEntity(query,requestHeaders),String.class);
上述实现从后端检索值。 但是根据其他团队定义的架构,授权模式不是API密钥而是iam。所以我必须相应地配置其余模板。
我可以在 Java 客户端代码的哪个位置进行配置,以便将 aws_iam 用作从端点检索信息的授权方法。 Dynamodb 是数据源
【问题讨论】:
标签: java amazon-web-services graphql amazon-iam resttemplate