4

我正在使用 Spring Boot starter social Facebook 来通过 Facebook 对用户进行身份验证/授权。

我想添加一些权限,例如电子邮件以检索用户电子邮件地址。

Spring Boot Facebook 配置如何提供它?我需要在哪里添加范围或默认范围属性?

4

2 回答 2

4

在提供的示例中,转到资源>模板>连接>facebookConnect.html。

然后您可以在隐藏输入中编辑范围,如下所示:

<input type="hidden" name="scope" value="user_likes,email" />

例如,这为您提供了用户喜欢和用户电子邮件的权限。

于 2015-05-20T10:44:35.197 回答
2

启动器只给你一个默认的授权页面。这是一个不错的开始,但您可能不想实际使用它,因为它看起来很简单。相反,您将使用 POST 到 /connect/facebook 的表单创建自己的授权页面。在该表单中,您提供了一个名为“范围”的隐藏字段,其中包含您希望从 Facebook 获得的任何权限的逗号分隔列表。

首先,您需要确保您没有设置 spring.social.auto_connection_views 属性(或者,如果您这样做,请将其设置为 false)。然后创建一个与“connect/facebookConnect”匹配的视图(JSP、Thymeleaf 等)。在其中,包括使用“范围”隐藏字段发布到 /connect/facebook 的表单。

例如,请查看https://github.com/spring-projects/spring-social-samples/tree/master/spring-social-showcase-boot。该项目使用 Thymeleaf 模板,您可以在 src/main/resources/templates/connect/facebookConnect.html 中找到 facebookConnect.html 模板。

于 2015-04-24T13:10:40.800 回答