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身份驗證爲我工作。