0

我已经安装了以下插件Grails的弹簧安全OAuth的谷歌:如何设置

compile 'org.grails.plugins:spring-security-core:3.1.1' 
compile "org.grails.plugins:spring-security-oauth2:1.1.0" 
compile "org.grails.plugins:spring-security-oauth2-google:1.1.0" 

春安芯正常工作。 但我在实施oauth-google身份验证时遇到问题。

插件文档说我们需要传递api_key和api_secret。我在console.developers.google.com上创建了一个项目,并创建了API Key和Oauth Keys,我对在application.yml中使用哪些值感到困惑。 因为根据console.developers.google.com API密钥和Oauth密钥是不同的凭据。

任何有关从哪里获得以及如何设置以下值的建议都将有所帮助。

api_key: 'AIzaSyBjfn345tg6j0ol1e89kHMOY'    
api_secret: 'xseettDDNtjjuutrfuAFTe4d' 
successUri: "/oauth2/google/success" 
failureUri: "/oauth2/google/failure" 
callback: "/oauth2/google/callback"  
scopes: "some_scope" 

回答

0
  1. api_keyapi_secret

    我把这些键从console.cloud.google.com/

    API管理>凭据>创建/编辑条目

    然后客户端ID和客户机密码是需要的值。其他参数是Grails应用程序本身内的路径,如果您想覆盖插件的默认行为,我相信您可以更改这些路径。

但还有更多......

  • 记住你的白名单回调地址(非常相同的面板上完成)。对于本地连接我将它(在谷歌API经理)为 http://localhost:8080/oauth2/google/callback

  • 记住,除了调用grails s2-quickstart com.yourapp User Role你需要调用也grails init-oauth2 ...(这里所描述 - https://github.com/MatrixCrawler/grails-spring-security-oauth2)。

  • 接下来我不得不重写默认登录页面,以便能够显示此处提到的链接https://github.com/MatrixCrawler/grails-spring-security-oauth2-google<oauth2:connect provider="google" id="google-connect-link">Google</oauth2:connect>。默认的是https://github.com/grails-plugins/grails-spring-security-core/tree/master/grails-app/views/login,你只需将它们复制到grails-app/views/login /并修改它们即可。

  • 接下来的问题是,来自第2点的脚本没有将static hasMany = [oAuthIDs: OAuthID]字段添加到用户域,这导致ask视图提交崩溃。

  • 之后,谷歌Oauth2身份验证为我工作。