suchen

Heim  >  Fragen und Antworten  >  Hauptteil

Wie verwende ich die Firebase-Authentifizierung mit mehreren Anmeldemethoden und rollenbasierter Authentifizierung?

<p>Ich erstelle eine React.js-Anwendung mit NodeJS als Backend und möchte diese Authentifizierungsmethoden verwenden, um mich mit E-Mail/Passwort anzumelden, mich mit Google anzumelden und mich per Telefon anzumelden. Jetzt möchte ich die Einzigartigkeit des Benutzers beim Signieren beibehalten Für alle diese Informationen erhalte ich auch andere Details, z. B. wenn sich ein Benutzer mit E-Mail/Passwort registriert, erhalte ich auch die Telefonnummer des Benutzers und möchte nicht, dass der Benutzer diese Telefonnummer verwendet, indem er sich per Telefon anmeldet. Erstellen Sie eine andere Kontomethode. </p> <p>Das zweite Problem besteht darin, dass meine Anwendung drei Benutzerrollen hat: Benutzer, Vertrieb und Administrator. Für jeden Benutzer gibt es ein anderes Registrierungsformular. Wenn sich ein Benutzer per E-Mail als Verkäufer registriert, möchte ich auch, dass sich dieser Benutzer als Benutzer mit derselben E-Mail-Adresse registrieren kann. Wenn ich jetzt Firebase SDK in meiner React-Anwendung verwende, ist dies der Fall gibt dem Benutzer einen Fehler aus, da dieser bereits vorhanden ist. </p> <p>Die Firebase-Authentifizierung kann dieses Problem lösen. Ich möchte, dass der Benutzer eindeutig ist und dass die rollenbasierte Authentifizierung aktiviert ist. Ich verwende Firestore als meine Datenbank</p>
P粉574695215P粉574695215478 Tage vor672

Antworte allen(1)Ich werde antworten

  • P粉988025835

    P粉9880258352023-09-06 10:29:08

    doc, "您可以通过将身份验证提供程序凭据链接到现有用户帐户,允许用户使用多个身份验证提供程序登录您的应用。无论身份验证如何,都可以通过相同的 Firebase 用户 ID 来识别用户他们用来登录的提供商”。另请参阅 linkWithCredential()linkWithPhoneNumber() 方法.

    您可以使用基于自定义声明<的基于角色的访问控制策略/a>(您可以添加多个声明,每个角色一个)或 Firestore 文档。但是,您将在您的应用程序中自行实现用户选择角色的机制(您在问题中提到“不同的注册表单”)和相应的 GUI 显示。

    Antwort
    0
  • StornierenAntwort