Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 向来自Spring Boot Oauth2 RemoteTokenServices的特定请求添加自定义头_Java_Spring Boot_Oauth 2.0_Spring Security Oauth2_Spring Oauth2 - Fatal编程技术网

Java 向来自Spring Boot Oauth2 RemoteTokenServices的特定请求添加自定义头

Java 向来自Spring Boot Oauth2 RemoteTokenServices的特定请求添加自定义头,java,spring-boot,oauth-2.0,spring-security-oauth2,spring-oauth2,Java,Spring Boot,Oauth 2.0,Spring Security Oauth2,Spring Oauth2,我有一个必须远程验证令牌的服务,它是通过RemoteTokenServices包类完成的。我在这里看到了进行验证的方法: public OAuth2Authentication loadAuthentication(String accessToken) throws AuthenticationException, InvalidTokenException { MultiValueMap<String, String> formData = new LinkedMulti

我有一个必须远程验证令牌的服务,它是通过RemoteTokenServices包类完成的。我在这里看到了进行验证的方法:

public OAuth2Authentication loadAuthentication(String accessToken) throws AuthenticationException, InvalidTokenException {
    MultiValueMap<String, String> formData = new LinkedMultiValueMap();
    formData.add(this.tokenName, accessToken);
    HttpHeaders headers = new HttpHeaders();
    headers.set("Authorization", this.getAuthorizationHeader(this.clientId, this.clientSecret));
    Map<String, Object> map = this.postForMap(this.checkTokenEndpointUrl, formData, headers);
    if (map.containsKey("error")) {
        if (this.logger.isDebugEnabled()) {
            this.logger.debug("check_token returned error: " + map.get("error"));
        }

        throw new InvalidTokenException(accessToken);
    } else if (map.containsKey("active") && !"true".equals(String.valueOf(map.get("active")))) {
        this.logger.debug("check_token returned active attribute: " + map.get("active"));
        throw new InvalidTokenException(accessToken);
    } else {
        return this.tokenConverter.extractAuthentication(map);
    }
}
public OAuth2Authentication loadAuthentication(String accessToken)引发AuthenticationException、InvalidTokenException{
MultiValueMap formData=新链接的MultiValueMap();
添加(this.tokenName,accessToken);
HttpHeaders=新的HttpHeaders();
set(“Authorization”,this.getAuthorizationHeader(this.clientId,this.clientSecret));
Map Map=this.postForMap(this.checkTokenEndpointUrl、formData、headers);
if(map.containsKey(“错误”)){
if(this.logger.isDebugEnabled()){
this.logger.debug(“check_标记返回错误:”+map.get(“错误”));
}
抛出新的InvalidTokenException(accessToken);
}else if(map.containsKey(“active”)&&!“true”.equals(String.valueOf(map.get(“active”))){
this.logger.debug(“check_标记返回活动属性:”+map.get(“活动”));
抛出新的InvalidTokenException(accessToken);
}否则{
返回此.tokenConverter.extractAuthentication(map);
}
}
唯一的问题是,对于某些请求,附加信息应该在头中发送,例如原始请求是什么。我一直在试图找到一种通过全局java变量或RemoteTokenService配置获取此信息的方法,但一直找不到

如果有人能在这种情况下帮助获得请求uri信息,我们将不胜感激