PrincipalExtractor和AuthorExtractor没有命中

时间:2018-11-08 10:53:10

标签: spring spring-security oauth oauth-2.0 spring-security-oauth2

我有一个具有Spring安全性和Oauth2的项目。

在资源服务器上,我具有以下配置:

$ javac –classpath C:\dependency\framework.jar MyApp.Java
$ java –classpath C:\dependency\framework.jar MyApp

我有以下提取器:

@Configuration
public class SecurityConfiguration extends ResourceServerConfigurerAdapter {    

    @Override
    public void configure(final HttpSecurity http) throws Exception {
        http.antMatcher("/**")
            .authorizeRequests().antMatchers("/info", "/health", "/h2-console/**").permitAll()
            .anyRequest().authenticated()
            .and().headers().frameOptions().disable();
    }    

}

我设置了user-info-uri:http://localhost:8081/uaa/v1/me

问题在于它在运行时没有命中我的提取器方法,因此什么也没发生。据我所知,我只需要使用@Component和Spring boot对其进行注释,并将其自动使用。

更新: 解决方案已建立。 我还必须将此添加到我的配置中:

@Component
public class InsurancePrincipalExtractor implements PrincipalExtractor {

    @Override
    public Object extractPrincipal(Map<String, Object> map) {
        return map.get("username");
    }

}

@Component
public class InsuranceAuthoritiesExtractor implements AuthoritiesExtractor {

   @Override
   public List<GrantedAuthority> extractAuthorities(Map<String, Object> map) {
       //Logic
}

0 个答案:

没有答案