使用spring-security-oauth2-client检索facebook个人资料信息

时间:2018-02-21 16:10:41

标签: spring-security spring-security-oauth2 spring-oauth2

我尝试使用facebook登录设置项目,并在连接时检索用户的一些个人资料信息。

上下文:

  • Spring Boot:2.0.0.RC1
  • Spring Security Oauth2客户端:5.0.2.RELEASE

一切运作良好,我可以通过Facebook连接用户,我的问题是facebook只检索我的身份(脸谱ID)和用户名。 我想在登录时从Facebook获得更多的信息,如个人资料网址和个人资料图片。

安全配置:

@Configuration
public class SecurityConfig extends WebSecurityConfigurerAdapter {

    @Override
    public void configure(HttpSecurity http) throws Exception {

        http
            .oauth2Login();
    }
}

application.properties:

spring.security.oauth2.client.registration.facebook.client-id=app-id
spring.security.oauth2.client.registration.facebook.client-secret=app-secret

我甚至尝试在application.properties上添加范围,但没有改变

spring.security.oauth2.client.registration.facebook.scope=public_profile,email

在facebook文档中他们说

  

public_profile,user_friends和email是公共范围和它们   不需要任何验证

对此有何帮助?

感谢。

1 个答案:

答案 0 :(得分:3)

添加此属性对我有用:

&response_type=code