gpt4 book ai didi

ios - 如果电子邮件未经验证,Apple将替换电子邮件提供商

转载 作者:行者123 更新时间:2023-12-01 21:57:57 25 4
gpt4 key购买 nike

我已经在here等多个地方阅读了有关此问题的信息,但不知道为用户提供什么样的用户体验。

我在iOS(Swift)上使用Firebase Auth。在我的应用中,用户只有两种方式创建帐户:

  • 电子邮件(电子邮件/密码)
  • 使用Apple
  • 登录

    我不确定在Apple取代Firebase中的电子邮件提供商的情况下如何处理:
  • 用户使用选项#1(电子邮件)注册为john@gmail.com。我们使用api send email verification发送电子邮件,以供用户验证其电子邮件。
  • 由于某种原因,该用户未打开电子邮件以验证其电子邮件。因此,该电子邮件未得到验证。
  • 用户退出应用程序。
  • 用户使用选项#2(使用Apple登录)登录,而不是使用选项#1(电子邮件)登录。他们的Apple ID电子邮件与选项#1(电子邮件)相同:john@gmail.com。我们使用API​​ sign in with credential

  • 在此流程中,Apple 替换了电子邮件提供商,因为它们的常规电子邮件和Apple ID电子邮件都是相同的(并且常规电子邮件未得到验证)。如果电子邮件经过验证,则Firebase在这种情况下会自动链接电子邮件和Apple帐户...而不是替换。

    如果稍后再次尝试使用选项#1(电子邮件)创建一个帐户,则会收到此错误,因为它已被Apple使用:
    Error Domain=FIRAuthErrorDomain Code=17007 "The email address is already in use by another account." UserInfo={NSLocalizedDescription=The email address is already in use by another account., FIRAuthErrorUserInfoNameKey=ERROR_EMAIL_ALREADY_IN_USE}

    我不确定如果用户要使用电子邮件登录但现在不能登录,该怎么做以提高用户体验。我是否要告诉用户:“抱歉,由于您没有验证电子邮件,因此Apple替换了电子邮件提供商,现在您必须使用Apple登录帐户”?还是我们可以为用户提供更好的用户体验?无论如何,在这种特定情况下,是否可以轻松地允许该用户同时使用电子邮件和Apple登录?

    最佳答案

    在这种情况下,您可以调用fetchSignInMethodsForEmail来获取与此电子邮件关联的IDP。这将返回带有apple.com提供程序ID的列表。您通知用户他们需要使用Apple登录该帐户。

    展望 future ,他们将需要使用Apple登录。使用这两种方法的唯一方法是在使用电子邮件/密码注册之后以及在使用Apple登录之前,是否通过电子邮件验证来验证电子邮件。验证帐户后,Apple凭据会在登录时自动合并,并且密码会保留在帐户中。

    关于ios - 如果电子邮件未经验证,Apple将替换电子邮件提供商,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61072485/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com