我使用firebase進行身份驗證,通過使用電子郵件/密碼調用REST端點。Firebase,relogin自動使用REST服務
https://www.googleapis.com/identitytoolkit/v3/relyingparty/verifyPassword?key=[API_KEY]
如果用戶在數據庫中存在,我收到以下格式的JSON:
後{
"kind": "identitytoolkit#VerifyPasswordResponse",
"localId": "ZY1rJK0eYLg...",
"email": "[[email protected]]",
"displayName": "",
"idToken": "[ID_TOKEN]",
"registered": true,
"refreshToken": "[REFRESH_TOKEN]",
"expiresIn": "3600"
}
權,我想,當我再次打開應用程序時自動重新登錄。 據我瞭解,我需要使用該拍在與從火力地堡API(https://firebase.google.com/docs/reference/rest/auth/#section-sign-in-with-oauth-credential)
OAuth協議票據但是,我無法理解什麼參數我應該使用要做到這一點,考慮到我最初的電子郵件/密碼登錄。
API接受如下:
curl 'https://www.googleapis.com/identitytoolkit/v3/relyingparty/verifyAssertion?key=[API_KEY]' \
-H 'Content-Type: application/json' \
--data-binary '{"postBody":"id_token=[GOOGLE_ID_TOKEN]&providerId=[google.com]","requestUri":"[http://localhost]","returnIdpCredential":true,"returnSecureToken":true}'
我應該用什麼來GOOGLE_ID_TOKEN,providerId和requestUri? 我在第一次登錄時收到了什麼嗎?
感謝您的回覆!是的,你是對的,似乎我錯過了很多。我想要達到的是行爲 - 用戶登錄一次。然後他收到有效的令牌讓我們說2個星期。在每個應用程序開放後,我們使用服務器驗證該令牌,檢查仍然有效。如果是 - 進入一個應用程序。如果不是 - 請再次登錄。 Firebase可以通過其REST API執行哪些操作? – PolosatiyVjih
我不明白你在說什麼。 Firebase身份驗證會話是無限期的。登錄時,您會獲得2種令牌:一種短時間的一小時ID令牌和一種長壽命的刷新令牌。後者可以用來獲得新的ID令牌。如果您想拒絕超過2周的令牌,則可以檢查ID令牌JWT中的auth_time。如果較舊,則可以在客戶端強制進行重新認證。 – bojeil