2014-02-26 39 views
2

我正在構建一個Android應用程序,用戶應該能夠使用電子郵件/密碼組合(無需易用)登錄到應用程序,或者通過他們喜歡的社交網絡。如何使用OAuth2.0解決socialauth-android(by 3pillarlabs)和Google Accounts/Google +

我從3pillarlabsfound on Github)實施socialAuth庫Android和已成功能夠實現通過Facebook和Twitter的標誌代碼。很簡單:你創建一個應用程序,將密鑰和祕密複製到你的Android項目的屬性文件中,添加幾行代碼和bam!您可以使用Facebook或Twitter登錄到應用程序。

與被認爲是多了很多困難,因爲the guide they provide是過時的谷歌帳戶嘗試這一點 - 它似乎使用OAuth(第1版),而不是OAuth2.0的。我很難理解如何通過OAuth2.0和socialAuth庫來實現這一點。如果使用socialAuth庫時,我不想在Google的implementing application sign in with Google+頁面上建議那麼多工作。

我的主要問題是確定consumer_secret。當您在Google開發者控制檯上創建應用程序時,您會看到一個屏幕,您可以在其中激活相關API,然後設置權限 - 創建一個OAuth客戶端ID(consumer_key屬於socialAuth屬性文件),但是你找到你的consumer_secret

我已經瞭解到,使用Google+你可能有一種callBack向你發送驗證碼,但我不明白它應該發生什麼。

This solution helps,但我還是不知道從哪裏得到的CONSUMER_SECRET(在步驟1中創建明顯):

1. First register your application on Google Cloud console: 
    a. Go to https://cloud.google.com/console/project 
    b. Login 
    c. Create a new project 
    d. APIs & Auth > Credentials 
    e. Create New Client ID (Application Type: Web Application, Authorized redirect URL: http://YOUR_HOST_NAME/socialauth.html) 

2. Modify brickred properties.xml 
    Replace 
    <prop key="www.google.com.consumer_key">opensource.brickred.com</prop> 
    <prop key="www.google.com.consumer_secret">YC06FqhmCLWvtBg/O4W/aJfj</prop> 

    with 

    <prop key="googleapis.com.consumer_key">CLIENT ID created in Step 1.e above</prop> 
    <prop key="googleapis.com.consumer_secret">Client Secret created in Step 1.e above </prop> 

If you are not using Spring, modify oauth_consumer.properties 

Modify the link in your application where the user clicks on to start the contacts import process: 
change 
    ?id=google 

to 

    ?id=googleplus 

有沒有人從3pillarlabs實施socialAuth庫Android和想出如何使用登錄您的應用程序Google帳戶Google+OAuth2.0?你在哪裏得到consumer_secret

東西讓我困惑,例如是關於Setting up OAuth2.0

的谷歌開發者控制檯文檔這一發現建立的OAuth 2.0

要在應用程序中使用OAuth 2.0,您需要使用OAuth 2.0客戶端ID, 您的應用程序在請求OAuth 2.0訪問令牌時使用的ID。 當您在Google Developers Console中註冊應用程序時,您的 可以生成OAuth 2.0客戶端ID。

要查找您的應用程序的客戶端ID和客戶端密鑰,並設置 重定向URI,請展開OAuth 2.0客戶端ID部分。

要停用客戶端ID,請從 開發者控制檯中刪除該應用程序。

如何「展開OAuth 2.0客戶端ID部分」?下面是該屏幕的截屏:

enter image description here

+1

檢查維基谷歌加指南。希望能幫助到你。谷歌加提供商是爲oauth2.0和谷歌提供商爲oauth1.0 – vineet

+0

@marienke它爲你工作?你能幫忙嗎,我被困在同一條船上。 – manishKungwani

回答

1

我只是有這個問題,只是理解了它。轉到您的開發者控制檯,然後點擊下面的兩兩件事: enter image description here

的JSON文件包含了你的祕密,關鍵「client_secret」後,和API密鑰「的client_id」後上市。該文件有點難以閱讀,所以使用記事本或文字將文本複製到文件外並粘貼到此處: http://jsonviewer.stack.hu/

它會爲您組織信息,然後單擊「查看器」選項卡數據將很好,很容易看到,如下所示: enter image description here 這樣做是否和socialauth-android一起工作,但實際上我之後遇到了redirect_uri_mismatch錯誤,所以我知道如果之後你會遇到同樣的事情。

+0

我太面臨同樣的問題...你有沒有發現這個redirect_uri_mismatch錯誤的解決方案? – nitesh

+0

我測試了socialauth製造商提供的樣本,而google + auth也不適用於這些樣本。我懷疑它的Google OAuth 2.0尚未更新。我打算自己修復它,如果他們不盡快修復它,請求它。儘管如此,問題來源,而不是我們的代碼。 – Cogentleman

+0

你設法解決這個問題嗎? – SWAppDev

相關問題