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
てコールバックを呼び出し、そのトークンを保存して に使用していましたが、それ自体が不要になったため、不要になりました。token
dataRef.auth(token, some_callback)
dataRef.auth
要約すると、元の質問に答えるために、すべての認証メソッドは実際には同じクラス (FirebaseAuthClient) の一部になりました。dataRef.auth
は不要になりましたが、ドキュメントにはまだ記載されているため、混乱を招きます。
に置き換えdataRef.auth
、new FirebaseAuthClient
に置き換えdataRef.auth
てauthClient.logout
設定する必要があります。
これらの主張の有効性に関する Firebase スタッフからのフィードバックをお待ちしております。