我有一个Grails应用程序,它使用Spring Security插件进行授权/身份验证。我还想为用户提供通过Facebook注册/登录的能力。我需要将Facebook登录/注册与Spring Security插件集成,例如,如果我调用
springSecurityService.getCurrentUser()
它将返回当前用户的用户对象,无论该用户是否使用Facebook登录。
我找到了提出解决方案的variety plugins和blog-posts,但我不确定哪个(如果有的话)适用于最新版本的Grails (2.0.0.RC1)和Spring Security插件。
任何人都可以推荐我应该尝试哪些插件/程序,还是应该直接使用Facebook API?我在某处读到使用插件可能是不可取的,因为Facebook API频繁更改(Facebook发布这些更改的时间与插件的兼容版本发布之间不可避免地存在差距。)
答案 0 :(得分:3)
其实我不能不偏不倚,因为我是http://grails.org/plugin/spring-security-facebook的作者
顺便说一下,可以说这个插件与Grails 2.0RC1兼容。我使用这个插件的grails 2.0项目。
PS我有任何问题或发现错误 - 您可以直接与我联系
答案 1 :(得分:0)
作为您上面链接的"blog-posts"的作者,我会说我的指南是使用Grails 2.0里程碑版本完成的,并且应该与最新版本的Grails和Spring Security一起使用。
spring-security-facebook插件在我最后一次尝试时工作,可能(现在)有最新的OAuth2.0修复程序,但在撰写我的帖子时,这些更改仍在进行中。
使用插件而不使用插件之间的选择实际上是方便和控制之间的平衡。虽然随着平台的成熟,Facebook的API变化可能会变慢,这会让人们对插件更有信心,但在添加这些额外的抽象层时,总会存在固有的风险。
对我而言,我发现Facebook和Spring Security的实施相对微不足道,并且更喜欢额外的控制,因为我知道如果/当Facebook API发生变化时,我或我的一个开发人员可以去解决这个变化,而不必依赖于第三方插件支持团队有时间解决我的问题。