2015-12-04 97 views
1
  1. 我目前正在實施Google OpenID以實現在我的網站上使用Google登錄。繼tutorial given by google。 它強調只有id_token是發送到後端服務器的東西。由於我使用Java作爲後端,並且我無法在google api庫中的id_token上找到類似getName()的方法。但我只能通過getEmail()檢索電子郵件。如何從Google獲取Name屬性id_token

    那麼如何在後端獲取用戶名?

  2. 此外,我意識到如果我只想驗證用戶的身份,OpenID是文檔中推薦的,而不是Oauth2.0。我也嘗試過實施Oauth2.0,但堅持其工作流程。

    這是我到目前爲止得到的。

    • 按鈕點擊--->發送HTTP獲取某些API
    • 該API調用得到和運行scribeJava代碼
    • 我得到的Authorization url後,我怎麼打開它爲用戶的彈出式窗口確認?
    • 確認後,如何將驗證碼發送回服務器?

我所知道的藍圖,但對具體的實施相當混亂。

任何幫助?

回答

-1
  1. 在我看來最好使用OAuth2:https://developers.google.com/identity/sign-in/web/reference#googleusergetbasicprofile然後你可以獲取基本的用戶配置文件,然後獲取你想要的用戶名。

fetch_basic_profile獲取用戶的基本個人資料時,他們 登錄。又添‘個人資料’和‘電子郵件’所請求的範圍。如果未指定 ,則爲真。

  1. 我相信你可以在Javascript中使用google api(gapi)for Oauth。下面是文檔:https://developers.google.com/api-client-library/javascript/features/authentication 所以在這裏你可以找到一個示例代碼是: How to authenticate with Google via OAuth 2.0 in a popup?

希望它能幫助:)

+0

HES詢問的OpenID不是的oauth2。 –

+0

是JavaScript中的Oauth,代替JAVA/PHP api庫嗎?看起來它是做所有的事情,並利用前端工作 – Qiang