我們正在開發SPA - 完整的客戶端基礎JavaScript應用程序,並且需要對我們的用戶進行身份驗證才能訪問內部。登錄單個頁面使用Google身份驗證和Google Oauth 2.0的應用程序
正如我從搜索中發現的,我們可以外包我們的身份驗證機制,並使用Google帳號。我從這個網站了解到 https://developers.google.com/accounts/docs/OAuth2Login - 如何處理Google API和認證機制。
在短字,我們需要:
- 發送請求到谷歌網址使用參數要求用戶允許SPA使用來自谷歌 他們的個人資料
- 在成功的情況下,我們得到一個令牌
- 我們可以使用此令牌訪問我們被問及的API並使用它。
這是描述得很好,我理解它,並有一些JS代碼來實現它。
我不明白。
我有一個應用程序與它的私人數據。我希望使用用戶的電子郵件作爲登錄名或用戶標識(無論如何調用它)訪問應用程序的內部信息,例如用戶創建的任務,用戶配置文件等。因此,要在我的SPA中顯示用戶創建的任務我需要用用戶的電子郵件查詢數據庫。
我想象中的未來場景:
- 用戶點擊
Login with Google
按鈕 - 我們獲得令牌 - 這意味着用戶已成功驗證
- 我們保持用戶和他的電子郵件與SPA合作
- 當用戶點擊
Logout
我們清除所有訪問數據
我應該在哪裏堅持這些數據?
在Forms Authentication
情況下,我明白,我們通過登錄/密碼到服務器,如果他們匹配數據庫中,我們創建Forms Ticket
和餅乾店呢。
有沒有類似的情況與谷歌的身份驗證?如果我將用戶的電子郵件存儲在cookie中,我認爲這從安全原因來說不是很好。如果我要保存一個令牌 - 我不確定爲什麼我需要它,以及如何在我的SPA中使用它,我沒有在驗證後使用任何Google API。
您是否有任何示例案例,我們如何在類似案例中構建流程?
謝謝。
僅供參考用戶ID和用戶電子郵件在一個重要方面是不同的;用戶可以更改他們的電子郵件地址,並且該用戶的ID將保持不變。 –
在這種特殊情況下,我們不會更改公司網絡內的電子郵件。總的來說,我試圖解釋,我會先使用還是使用第二種方法,但接下來我應該做什麼並不重要。如果ID - 好,我們將用戶的ID保存在數據庫中,並通過ID查詢,如果是電子郵件 - 也可以。順便說一句,我怎麼能改變谷歌電子郵件?它甚至有可能嗎? –
http://support.google.com/accounts/bin/answer.py?hl=zh_CN&answer=19870 –