【问题标题】:Is it possible to use email and phone number to authentication in Firebase?是否可以在 Firebase 中使用电子邮件和电话号码进行身份验证?
【发布时间】:2017-10-18 23:05:55
【问题描述】:

我正在寻找一种快速让用户使用他/她的电话号码注册然后添加他/她的电子邮件和密码的方法。
但是当用户登录时,他/她只能使用电子邮件和密码登录。

电话号码仅出于安全原因。

【问题讨论】:

    标签: ios firebase swift3 firebase-realtime-database firebase-authentication


    【解决方案1】:

    您可以将电子邮件和密码链接到通过电话身份验证创建的用户帐户,但 Firebase 身份验证不会在用户下次登录时强制执行 2 因素身份验证。用户可以使用其中任一(电子邮件/密码)登录或电话),而不需要两者。 您需要为此实施自己的自定义解决方案。 请通过 Firebase 支持或官方 Firebase Google Group 提交请求以获取 2 因素身份验证。

    如果您只想验证电话号码并将其链接到帐户而不要求下次登录,您可以在使用电子邮件和密码创建用户后,向用户询问电话号码,致电:

    [[FIRPhoneAuthProvider provider] verifyPhoneNumber:phoneNumber ...]

    使用验证 ID 解析。然后在获取 SMS 代码后初始化手机身份验证凭据:

    FIRPhoneAuthCredential *credential = [[FIRPhoneAuthProvider provider] credentialWithVerificationID:verificationID verificationCode:verificationCode];

    最后你打电话给: [[[FIRAuth auth] currentUser] linkWithCredential:credential]

    在当前用户上使用电话凭据。这会将电话号码添加到电子邮件/密码用户。您可以认为它已验证。下次他们使用电子邮件/密码登录时,您可以通过 user.phoneNumber 访问。

    【讨论】:

    • 其实我只是想让用户在他输入他的电子邮件并通过后第一次验证他的电话号码。之后他只使用他的电子邮件和密码
    • 好的,我更新了我的答案。希望它能回答你的问题。
    • 非常感谢
    • @bojeil 我收到这样的错误,请参阅 URL stackoverflow.com/questions/44922710/…
    猜你喜欢
    • 2018-09-03
    • 2018-03-23
    • 2020-03-24
    • 1970-01-01
    • 2019-06-11
    • 1970-01-01
    • 1970-01-01
    • 2021-11-12
    • 1970-01-01
    相关资源
    最近更新 更多