请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

资源服务访问授权服务验证token的问题

图片描述

资源服务访问授权服务来验证token 这里为什么填写clientid和clientsecret呢? 而且写死在代码里面了 跟client没有关系啊,应该和资源服务器有关系啊 这里我有点想不通呢

正在回答 回答被采纳积分+3

1回答

JoJo 2019-11-14 19:51:26

告诉授权服务器谁在验token啊。哪里想不通呢?

0 回复 有任何疑惑可以回复我~
  • 提问者 炸娃程序猿 #1
    private TokenInfo getTokenInfo(String authHeader) {
    		
    		String token = StringUtils.substringAfter(authHeader, "bearer ");
    		String oauthServiceUrl = "http://localhost:9090/oauth/check_token";
    		
    		HttpHeaders headers = new HttpHeaders();
    		headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED);
    		headers.setBasicAuth("gateway", "123456");
    		
    		MultiValueMap<String, String> params = new LinkedMultiValueMap<>();
    		params.add("token", token);
    		
    		HttpEntity<MultiValueMap<String, String>> entity = new HttpEntity<>(params, headers);
    		
    		ResponseEntity<TokenInfo> response = restTemplate.exchange(oauthServiceUrl, HttpMethod.POST, entity, TokenInfo.class);
    		
    		log.info("token info :" + response.getBody().toString());
    		
    		return response.getBody();
    	}
    那这段代码中的
    headers.setBasicAuth("gateway", "123456");
    这句话是不是就不能写死  应该由Node.js请求网关的时候传过来呢?
    回复 有任何疑惑可以回复我~ 2019-11-14 22:59:01
  • 提问者 炸娃程序猿 #2
    还是说网关其实也是一个client?
    回复 有任何疑惑可以回复我~ 2019-11-15 08:05:01
  • 慕粉1461747745 回复 提问者 炸娃程序猿 #3
    对,client可以认为是访问其他应用(资源服务器resourceId)的一个应用,网关就是这样一个应用,在client表里就配置了api作为一个client,clientid和clientsecret同用户名和密码是两个概念
    回复 有任何疑惑可以回复我~ 2019-11-15 10:04:04
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信