4

Firebaseでは、認証プロバイダの認証情報を既存のユーザアカウントにリンクすることで、複数の認証プロバイダを使用してユーザがアプリケーションにサインインできるようにすることができます。 Linkedinなどのカスタム認証プロバイダをリンクすることは可能ですか? AuthCredentialオブジェクトをログインユーザーのlinkWithCredentialメソッドに渡す必要があるが、カスタムAuthCredentialは見つかりません。カスタム認証プロバイダをFirebaseにリンクする

答えて

5

サポートされていないプロバイダのカスタムトークンを既存のアカウントにリンクする方法の1つは、FirebaseアカウントのユーザーIDとサポートされていないプロバイダのユーザーIDを取得し、サポートされていないプロバイダIDを取り込むハッシュマップを保存し、にリンクしたいユーザーがカスタムトークンでサポートされていないプロバイダにサインインすると、対応するfirebase uidがマップから取得され、元のfirebaseユーザーでsignInWithCustomTokenで解決されるuidを持つカスタムトークンが返されます。

ユーザーのプロバイダデータのリストにサポートされていないプロバイダが表示されないという欠点があります。また、マップを保存する必要があります。

+0

この回答を明確にするには、トークンの「uid」を現在のユーザーIDと同じにする必要があります。たとえば、ユーザーが「V5T0SE15mublW3gTr9lr04q7uxG3」ユーザーIDを持つ匿名ユーザーとしてログインした場合。現在、あなたは現在のユーザーIDを知っているので、uid: "V5T0SE15mublW3gTr9lr04q7uxG3"で新しいトークンを作成できます。そして、新しいトークンを取得したら、再度ログインすることができます: 'signInWithCustomToken(newToken)'。これらの2人のユーザーがマージされました。 – dino

関連する問題