小编Pav*_*ina的帖子

SecurityContextHolder.getContext() 上的身份验证为空;

我正在尝试在 Spring Boot 应用程序中使用 Spring Security 添加 Facebook 授权。目前,我的问题是从 Principal 中提取数据。

这是我的安全配置:

public class SecurityConfig extends WebSecurityConfigurerAdapter {

    @Override
    protected void configure (HttpSecurity http) throws Exception {
        http
            .csrf().disable()
            .antMatcher("/**")
            .authorizeRequests()
                .antMatchers("/", "/login**").permitAll()
                .anyRequest().authenticated()
                .and()
            .logout()
                .deleteCookies("JSESSIONID")
                .clearAuthentication(true)
                .logoutSuccessUrl("/").permitAll();
    }

    @Bean
    public PrincipalExtractor facebookPrincipalExtractor(){
        return new FacebookPrincipalExtractor();
    }
}
Run Code Online (Sandbox Code Playgroud)

和主要提取器:

public class FacebookPrincipalExtractor implements PrincipalExtractor {

    @Autowired
    UserService userService;

    @Override
    public Object extractPrincipal(Map<String, Object> map) {
        String name = (String) map.get("name");
        String id = (String) map.get("id");
        User user = userService.findOne(id); …
Run Code Online (Sandbox Code Playgroud)

java spring-security facebook-graph-api spring-boot

9
推荐指数
2
解决办法
5963
查看次数