Authentication Grails使用Google身份验证和Spring安全插件

Authentication Grails使用Google身份验证和Spring安全插件,authentication,grails,plugins,spring-security,google-authentication,Authentication,Grails,Plugins,Spring Security,Google Authentication,最近有没有人成功地将Google认证与Burt Beckwith令人敬畏的基于Grails的Spring安全插件结合起来?我想用Grails2.4.3沿着这条路走下去,在做了一些傻事(并在重新编译了donbeave版本的插件)之后,我找到了一个可以一起编译和运行的引用组合。最后,我在BuildConfig.groovy中添加了以下行: compile ':spring-security-core:2.0-RC4' compile ":spring-security-oauth:2.1.0-RC4

最近有没有人成功地将Google认证与Burt Beckwith令人敬畏的基于Grails的Spring安全插件结合起来?我想用Grails2.4.3沿着这条路走下去,在做了一些傻事(并在重新编译了donbeave版本的插件)之后,我找到了一个可以一起编译和运行的引用组合。最后,我在BuildConfig.groovy中添加了以下行:

compile ':spring-security-core:2.0-RC4'
compile ":spring-security-oauth:2.1.0-RC4"
compile ':spring-security-oauth-google:0.3.1'
然而,我发现,初始化命令“grailss2initoauth”所创建的更改并没有为我提供前进所需的所有修改。最后,我在config.groovy中添加了一个块,如下所示:

oauth {
    providers {
        google {
            api = org.grails.plugin.springsecurity.oauth.GoogleApi20
            key = 'MY KEY'
            secret = 'MY SECRET'
            successUri = '/oauth/google/success'
            failureUri = '/oauth/google/error'
            callback = "${baseURL}/oauth/google/callback"
            scope = 'https://www.googleapis.com/auth/userinfo.profile https://www.googleapis.com/auth/userinfo.email'
        }
    }
}

这些配置定义在我的代码中指定了一个不存在的回调(上面称为./oauth/google/callback)。我从推荐的示例()中引入一个控制器,用“/oauth/google/callback”替换“/springSecurityOAuth/onSuccess”(并通过google开发者控制台通过重定向URL注册),之后我发现确实调用了我的onSuccess方法,但控制器中引用的数据结构是错误的,似乎我需要在很大程度上重写控制器逻辑,以使一切正常工作。我必须假设其他人希望以与我相同的方式完成基于谷歌的身份验证。是否有完整的操作示例?或者有人能告诉我在尝试使用标准插件时哪里出了问题吗?感谢您的帮助。

您还需要使用spring security oauth插件。请参考这里

当您单击该按钮时,它将点击Oauth控制器内的authenticate操作,该操作将 身份验证()
谷歌的网址。成功身份验证后,它点击Oauth控制器的callback()操作,然后重定向到SpringSecurityOauthController的onSuccess()操作,然后将信息保存到OAuthId域,最后重定向到config中给出的successUri。

有支持Grails 3的插件吗?