使用spring security的Grails Facebook登录-如何知道登录的用户名
Posted
技术标签:
【中文标题】使用spring security的Grails Facebook登录-如何知道登录的用户名【英文标题】:Grails Facebook Login using spring security - how to know logged in user name 【发布时间】:2013-02-15 14:22:45 【问题描述】:在带有spring security facebook插件的Grails应用程序中,当用户登录时,应用程序如何获取实际的facebook用户名,以便主页可以显示登录的用户名?
【问题讨论】:
【参考方案1】:该插件提供 Facebook API access_token
,您必须向 Facebook 请求此类用户详细信息。
示例:
添加对 Spring Social Facebook 的依赖:
dependency
compile 'org.springframework.social:spring-social-core:1.0.1.RELEASE'
compile 'org.springframework.social:spring-social-facebook:1.0.1.RELEASE'
然后在创建用户时从 Facebook 加载它,方法是将以下内容添加到 FacebookAuthService:
void onCreate(FacebookUser user, FacebookAuthToken token)
Facebook facebook = new FacebookTemplate(token.accessToken.accessToken)
FacebookProfile fbProfile = facebook.userOperations().userProfile
//fill the name
//fieldname ('fullname' at this example) is up to you
user.fullname = fbProfile.name
另见
Spring Social 文档 - http://static.springsource.org/spring-social-facebook/docs/1.0.x/reference/html/apis.html#facebook-getProfile 关于 FacebookUserService - http://splix.github.com/grails-spring-security-facebook/guide/5%20Customization.html#5.1%20Using%20FacebookAuthService【讨论】:
谢谢!。非常感谢您及时/详细的回复和帮助。 我是 Grails 的新手。我必须在我的 grails 应用程序中放置void onCreate(FacebookUser user, FacebookAuthToken token)
操作
你要实现FacebookAuthService,放在这里以上是关于使用spring security的Grails Facebook登录-如何知道登录的用户名的主要内容,如果未能解决你的问题,请参考以下文章
Grails - grails-spring-security-rest - 无法从 application.yml 加载 jwt 机密
Grails + spring-security-core:用户登录后如何分配角色?
使用 Spring Security Grails 插件编码密码