我尝试将spring social facebook集成到我的项目中(我已经设法集成了google +和twitter signin)。我遇到的问题是facebook提供商为大多数值返回null。我使用下面的代码:
Connection<Facebook> fb_connection = (Connection<Facebook>) providerSignInUtils.getConnectionFromSession(request);
fb_connection.getApi().userOperations().getUserProfile().getName();//i get the name
fb_connection.getApi().userOperations().getUserProfile().getId(); //i get the id
fb_connection.getApi().userOperations().getUserProfile().getEmail(); // email and all other values are always null
我现在尝试了很多版本的spring social facebook,我使用的是2.0.0.M1,我认为这是最新版本。 以下是我使用的登录表单:
<!-- FACEBOOK SIGNIN -->
<form name="fb_signin" id="fb_signin" action="<c:url value="/signin/facebook"/>" method="POST">
<input type="hidden" name="scope" value="email,public_profile,user_friends" />
<button type="submit">Facebook</button>
</form>
有什么想法吗?
答案 0 :(得分:2)
我遇到了同样的问题并解决了升级到插件版本2.0.2.RELEASE
的问题<!-- Spring Social Facebook -->
<dependency>
<groupId>org.springframework.social</groupId>
<artifactId>spring-social-facebook</artifactId>
<version>2.0.2.RELEASE</version>
</dependency>
答案 1 :(得分:0)
在我的情况下,我必须发送&#34;范围&#34;放置登录按钮的表单中的字段。
<form th:action="@{/connect/facebook}" method="POST">
<button type="submit">Sign in with Facebook</button>
<input type="hidden" name="scope" value="public_profile,email"/>
</form>