新的Firebase for Unity支持剛剛發佈到Beta中,我正在嘗試使用它進行Auth驗證。我已經有一個Google登錄,它使用GooglePlayGames.PlayGamesPlatform.Instance.GetServerAuthCode
中的授權碼實現oauth2流,並將其發送到服務器,該服務器使用https://www.googleapis.com/oauth2/v4/token
端點交換訪問令牌。Firebase.Auth.GoogleAuthProvider.GetCredential的第一個參數是什麼?
我假設這個訪問令牌是Firebase.Auth.GoogleAuthProvider.GetCredential
方法的第二個參數,但是第一個參數要求的ID令牌是什麼?是從GooglePlayGames.PlayGamesPlatform.Instance.GetIdToken
獲得的令牌(與GoogleAuthUtil.GetToken
相同,如果我閱讀文檔/代碼是正確的)?
如果是這樣,爲什麼都需要?我認爲訪問令牌是通過谷歌雲服務對用戶進行身份驗證所需要的,並且ID令牌正在被淘汰。
編輯:經過一些測試後,我發現傳遞從GooglePlayGames.PlayGamesPlatform.Instance.GetIdToken
獲得的ID令牌確實允許Firebase進行身份驗證。問題是,它每次都要求用戶的電子郵件地址。如果可能,我想避免這種情況。
GetToken
,GetAccessToken
和GetIdToken
之間的區別是什麼,除了GetIdToken
需要回調?
嗨,你有沒有發現解決這個問題呢?我也陷入了同樣的情況。 –