我在javaspring服务核心和服务商店中使用了两个服务,我想用服务核心中的方法从服务核心插入数据,但是在服务核心中我需要承载令牌,如何从服务商店向服务核心发送auth承载令牌?
y4ekin9u1#
实施 RequestInterceptor 将身份验证设置为请求头。
RequestInterceptor
public void apply(RequestTemplate template) { if (RequestContextHolder.getRequestAttributes() != null && RequestContextHolder.getRequestAttributes() instanceof ServletRequestAttributes) { HttpServletRequest request = ((ServletRequestAttributes)RequestContextHolder.getRequestAttributes()).getRequest(); String authorization = request.getHeader("Authorization"); if (StringUtils.isNotBlank(authorization)) { template.header("Authorization", new String[]{authorization}); } } }
mklgxw1f2#
当然,您需要一种使用 client-credentials 补助金类型如果您希望在每个集成的基础上执行此操作,可能是因为您使用不同的方法与不同的服务集成,您可以执行以下操作:
client-credentials
@RequestMapping(method = [RequestMethod.GET], value = ["/id/{id}"], produces = [MediaType.APPLICATION_JSON_VALUE], consumes = [MediaType.APPLICATION_JSON_VALUE]) operator fun get( @RequestHeader("Authorization") bearerToken: String = "Bearer mybiglongencodedtoken....", @PathVariable("id") code: String,
2条答案
按热度按时间y4ekin9u1#
实施
RequestInterceptor
将身份验证设置为请求头。mklgxw1f2#
当然,您需要一种使用
client-credentials
补助金类型如果您希望在每个集成的基础上执行此操作,可能是因为您使用不同的方法与不同的服务集成,您可以执行以下操作: