dataRef.authさらに読んで考えた結果、ドキュメントにはまだ記載されていますが、もはや必要ではないことに気付きました。を作成すると、new FirebaseAuthClient本質的にそれが置き換えられます。
最近の変更前new FirebaseAuthClientは、コールバック関数を取りませんでした。認証するには、 を呼び出す必要がありましたdataRef.auth。
をインスタンス化するnew FirebaseAuthClientと、その時点で認証が試行されます。コールバックで以前に利用できた情報は、dataRef.authに提供する新しいコールバックで利用できるようになりましたnew FirebaseAuthClient。
ただし、少し異なります。dataRef.authバージョンは次のようになりました。
dataRef.auth(authtoken, function(success) { ... });
FirebaseAuthClientバージョンは次のようになります。
var authClient = new FirebaseAuthClient(dataRef, function(error, user) { ... });
したがって、物事を行う新しい方法では、successブール値 (代わりにオブジェクトに置き換えられます) を取得するだけでなく、認証が成功した場合はオブジェクトerrorも取得します。user
この変更の前は、ユーザーが正常に認証され、その情報を取得したい場合、localStorage などから情報を取得する必要がありました。コールバックで提供されるようになりました。これは良い変更です。
さらにtoken、関数に渡されていたパラメーターauthClient.loginは、ユーザー データの一部になりましたuser.firebaseAuthToken。
この更新に伴い、authClient.login動作方法が変更されます。コールバックを使用しなくなり、代わりに に渡されたコールバックを起動しますnew FirebaseAuthClient。
FirebaseAuthClient実際、そのコールバックは、認証状態を変更する関数に対して設定する必要がある唯一のコールバックのようです。ログインやログアウトなどの特定FirebaseAuthClientの機能は、認証状態を変更するだけで、元のコールバックに依存します。
さらに、ユーザーを認証するためにユーザーの authToken を追跡する必要がなくなったようです。以前は、 param を使用しauthClient.loginてコールバックを呼び出し、そのトークンを保存して に使用していましたが、それ自体が不要になったため、不要になりました。tokendataRef.auth(token, some_callback)dataRef.auth
要約すると、元の質問に答えるために、すべての認証メソッドは実際には同じクラス (FirebaseAuthClient) の一部になりました。dataRef.authは不要になりましたが、ドキュメントにはまだ記載されているため、混乱を招きます。
に置き換えdataRef.auth、new FirebaseAuthClientに置き換えdataRef.authてauthClient.logout設定する必要があります。
これらの主張の有効性に関する Firebase スタッフからのフィードバックをお待ちしております。