如何使用spring-social-security SocialAuthenticationFilter指定OAuth2范围?
我正在使用Spring Social和Spring Security对用户进行身份validation,并在我的Web应用程序上自动创建本地帐户。 如何提供OAuth2 scope
以进行身份validation?
在春季社交样本中 ,我看不出scope
应该去哪里。
scope
的特定用例是让用户通过Facebook进行身份validation,然后获取用户的Facebook电子邮件( scope="email"
)以创建本地帐户。
在您的配置中,您需要将scope
指定为FacebookAuthenticationService
的属性。 这是处理对auth/facebook
调用的服务
在XML配置中,而不是:
使用:
这适用于Spring Social 1.1.0.M3
您可以在连接/注册表单中传递其他scope
参数。 从官方文档中查看twitter的示例 :
" method="POST"> ...
这也是facebook的原理,只需使用适当的范围值。
请确保您没有错过这部分:
Facebook访问令牌在大约2小时后过期。 因此,为了避免不得不要求用户重新授权2小时,保留长期访问令牌的最佳方法是请求“offline_access”。