2011-08-15 64 views
3

我正在嘗試使Google登錄OpenID/OAuth hybrid登錄工作。問題是它是一個可安裝的網絡(所以沒有固定的域名),我也試圖讓它在我的開發機器上工作 - 所以返回URL就像http://localhost:8000/test/index.phpGoogle OpenID + Oauth混合模式登錄內部返回URL - OAuth不起作用

我已經使用了code from their demo,但雖然OpenID返回正常,但OAuth部分被Google完全忽略(所以我得到You are not authenticated)。我懷疑這是因爲OpenID參數與消費者密鑰不匹配,但我對如何使其工作不知所措。我嘗試使用匿名/匿名作爲OAuth密鑰,但不會產生所需的效果。任何想法可以使我的設置在混合模式下工作?

回答

1

我們的API連接詳細信息位於一個配置文件中,例如clientId,emailAddress,redirectUris存儲在XML文件中。我們有幾個配置集,例如一個用於開發,一個用於產品。每個環境都知道使用哪一個。我們使用Grails,所以當grails啓動時,它會選擇開發環境,並使用開發配置。

現在讓redirectUri指向本地主機,以便您可以在本地機器上工作,登錄到Google API控制檯(https://code.google.com/apis/console/),添加另一個「客戶端ID對於Web應用程序「並將重定向URI設置爲您的本地主機。現在你應該有兩個客戶ID,一個用於開發,一個用於產品。在開發人員配置文件中將這些設置卡住,您就很好。