電子メール/パスワードでRESTエンドポイントを呼び出して、認証にfirebaseを使用しています。Firebaseは、自動的に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"
}
を、私は再びアプリを開いていたときに自動的に再ログインします。 Firebase APIのOAuth認証情報でログインする必要があることを理解しています(https://firebase.google.com/docs/reference/rest/auth/#section-sign-in-with-oauth-credential)
しかし、私の初期のメールアドレス/パスワードのログインを考慮して、どのようなパラメータを使用すべきか理解できません。
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つのタイプのトークンが取得されます。短命の1時間のIDトークンと長時間のリフレッシュトークンです。後者は、新しいIDトークンを取得するために使用できます。 2週間以上経過したトークンを拒否するには、IDトークンJWTでauth_timeを確認します。古い場合は、クライアント側で強制的に再認証を行うことができます。 – bojeil