采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
资源服务访问授权服务来验证token 这里为什么填写clientid和clientsecret呢? 而且写死在代码里面了 跟client没有关系啊,应该和资源服务器有关系啊 这里我有点想不通呢
告诉授权服务器谁在验token啊。哪里想不通呢?
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请求网关的时候传过来呢?
还是说网关其实也是一个client?
对,client可以认为是访问其他应用(资源服务器resourceId)的一个应用,网关就是这样一个应用,在client表里就配置了api作为一个client,clientid和clientsecret同用户名和密码是两个概念
登录后可查看更多问答,登录/注册
从API到复杂微服务场景,实战部署可落地的安全方案。
1.1k 1
1.3k 8
1.8k 7
1.4k 6
1.4k 5