grails facebook注册/登录

Posted

技术标签:

【中文标题】grails facebook注册/登录【英文标题】:grails facebook registration/login 【发布时间】:2012-01-07 19:27:15 【问题描述】:

我有一个使用 Spring Security 插件进行授权/身份验证的 Grails 应用程序。我还想为用户提供通过 Facebook 注册/登录的能力。我需要将 Facebook 登录/注册与 Spring Security 插件集成,这样(例如)如果我调用

springSecurityService.getCurrentUser()

无论该用户是否使用 Facebook 登录,它都会为当前用户返回一个用户对象。

我发现plugins 和blog-posts 中的variety 提出了一个解决方案,但我不确定哪个(如果有的话)适用于最新版本的Grails (2.0.0.RC1 ) 和 Spring Security 插件。

谁能推荐我应该尝试哪些插件/程序,或者我应该直接使用 Facebook API 吗?我在某处读到,使用插件可能是不可取的,因为 Facebook API 经常更改(Facebook 进行这些更改的时间与插件的兼容版本发布之间不可避免地会有差距)。

【问题讨论】:

您是否收集了有关此主题的更多信息? 【参考方案1】:

其实我不能不偏不倚,因为我是http://grails.org/plugin/spring-security-facebook的作者

顺便说一句,可以说这个插件与 Grails 2.0RC1 兼容。我有一个使用这个插件的 grails 2.0 项目。

PS 如果您有任何问题或发现错误 - 您可以直接与我联系

【讨论】:

【参考方案2】:

作为您在上面链接的"blog-posts" 的作者,我会说我的指南是使用 Grails 2.0 里程碑版本完成的,并且应该与最新版本的 Grails 和 Spring Security 一起使用。

我上次尝试使用 spring-security-facebook 插件时它可以工作,并且可能(现在)有最新的 OAuth2.0 修复程序,但在撰写我的帖子时,这些更改仍在进行中。

使用插件和不使用插件之间的选择实际上是方便和控制之间的平衡行为。虽然随着平台的成熟,Facebook 的 API 变化可能会放缓,这应该会让人们对插件更有信心,但在添加这些额外的抽象层时总会存在固有的风险。

对我来说,我发现 Facebook 和 Spring Security 的实现相对微不足道,并且更喜欢额外的控制,因为我知道如果/当 Facebook API 发生变化时,我或我的开发人员可以去解决变化,而无需依赖第三方插件支持团队有时间解决我的问题。

【讨论】:

以上是关于grails facebook注册/登录的主要内容,如果未能解决你的问题,请参考以下文章

使用spring security的Grails Facebook登录-如何知道登录的用户名

iphone:facebook应用程序响应错误消息

使用 spring-security-core 插件将 Facebook 登录 (oauth) 与现有 grails 应用程序集成

将多个用户帐户合并在一起的架构

Grails - ShiroSecurity - 手动登录用户

iOS:通过自动登录获取 Facebook 访问令牌