不知道這是否適合這個問題。這不是必需的100%編碼問題,但它也不是編碼問題。無論如何,這裏是如何鏈接谷歌行動,移動應用程序,後端服務器和Firebase身份驗證用戶帳戶?
故事:我想創建一個購物系統。用戶可以使用該網站或移動應用程序或谷歌助手獲取產品信息並從該購物系統進行購買。我面臨的問題是如何將這3名客戶中的用戶關聯起來。更具體的谷歌助理/行動。
我所做的事情: 使用firebase auth用於身份驗證和登錄用戶到網站或移動應用程序。用戶通過身份驗證後,可以使用Firebase訪問令牌供網站或移動應用使用。網站或移動應用可以將Firebase訪問令牌發送到後端服務器,後端服務器可以通過firebase admin sdk驗證此訪問令牌。一切都按預期工作,直到我想引入google actions/assistant。
對於谷歌助理/操作:我跟着this和this用於將用戶登錄到谷歌的行動應用程序。此時,如果用戶使用其Google帳戶登錄Google操作應用程序,我可以獲取用戶基本的個人資料信息。
的問題:
- 後,我得到了用戶的個人資料,如用戶名,電子郵件等,從谷歌的行動登錄,然後我查詢在後端服務器上的數據庫,如果我找到一個用戶使用此ID或電子郵件,那麼這是一個有效的和經過身份驗證的用戶,我將允許用戶通過谷歌助手進行購買。 這種方法安全可靠,可以在谷歌行動/助手上識別用戶嗎?
- 假設上述方法安全可靠,如果用戶帳戶是使用其他電子郵件帳戶而不是谷歌帳戶創建的,我該怎麼辦?即,用戶最初使用非谷歌電子郵件或其他Oauth2(fb,twitter等)通過firebase身份驗證在網站或移動應用程序上註冊。在這種情況下,我的後端數據庫不會爲用戶提供Google帳戶信息,並且如果用戶使用Google帳戶登錄到我的Google動作應用程序,我將無法在現有用戶數據庫中識別此用戶。
- 有沒有一種方法來驗證/通過火力AUTH登錄用戶到谷歌的行動應用程序,並獲得了谷歌的行動fulfillment後端服務器上的火力點訪問令牌?如果有辦法做到這一點,我想以前的問題將不存在,因爲我將能夠使用此firbase令牌來驗證用戶,無論用戶帳戶是否使用谷歌帳戶或其他電子郵件帳戶或其他Oauth2創建供應商。
- 如果上述所有失敗,是傾銷firebase身份驗證,並創建我的Oauth 2服務的一個選項,它將成爲唯一可用的備份計劃?
非常感謝!我只是想知道如果這個來自StackOverflow文章的@Prisoner人可以在這裏提供一些輸入,這將是很好的。同意,如果我可以在沒有設置OAuth2服務器的情況下使用Google行動的Firebase身份驗證,那將會很好。 –