我使用Spring Boot starter社交Facebook来通过Facebook验证/授权用户。
我想添加一些权限,例如电子邮件,以便检索用户电子邮件地址。
如何使用Spring Boot Facebook配置提供它?我需要在哪里添加作用域或默认作用域属性?
在提供的示例中,转到resources>templates>connect>facebookConnect.html。
然后您可以编辑隐藏输入中的范围,如下所示:
<input type="hidden" name="scope" value="user_likes,email" />
这为您提供了访问用户点赞和用户电子邮件的权限。
启动器只为您提供一个默认的授权页面。这是一个很好的开始,但你可能不想真正使用它,因为它看起来很普通。相反,你可以创建一个自己的授权页面,并将其张贴到/connect/facebook。在该表单中,您提供了一个名为"scope"的隐藏字段,其中包含一个逗号分隔的列表,其中列出了您想要从Facebook获得的任何权限。
首先,您需要确保NOT设置spring.social.auto_connection_views属性(或者,如果设置了,则将其设置为false)。然后创建一个匹配"connect/facebookConnect"的视图(JSP、Thymelaf等)。在其中,包括张贴到/connect/facebook的带有"范围"隐藏字段的表单。
举个例子,看看https://github.com/spring-projects/spring-social-samples/tree/master/spring-social-showcase-boot.该项目使用Thymelaf模板,您可以在src/main/resources/templates/connect/facebookConnect.html中找到facebookConnect.html模板。