如何获得使用Unity的Firebase身份验证链接帐户?

问题描述 投票:0回答:1

我想为多个身份验证提供者提供电话,facebook以及简单的电子邮件和密码。

事实是,如果该帐户与相同的电子邮件地址链接,我希望提供相同的帐户(相同的用户ID,相同的显示名称)。

正如我通过文档了解的那样,如果用户已经连接并链接了与另一个提供者的帐户,则可以执行此操作。

所以我的问题是:无论如何,是否可以自动执行此操作,例如,用户下次与另一个提供程序连接时,不必告诉他自己链接它。

firebase unity3d firebase-authentication
1个回答
0
投票

默认情况下,Firebase身份验证每个用户只允许一个电子邮件地址。请参阅Firebase控制台中“身份验证提供程序”页面底部的本节:

One account per email option in the Firebase console

因此,当您注册一个新用户时,您应该得到一个带有错误代码FirebaseExceptionAccountExistsWithDifferentCredentials

要处理此问题,您需要使延续看起来像:

/* Registration call */.ContinueWithOnMainThread(task=>{
    if (task.Exception) {
        foreach (var e in task.Exception.InnerExceptions) {
            var fe = e as FirebaseException;
            if (fe != null) {
                if (fe.ErrorCode == AuthError.AccountExistsWithDifferentCredentials) {
                    TryToLinkInsteadOfCreateAccount(); // TODO - cache credentials and implement this
                }
            }
        }
    }
});

让我知道是否有帮助!

-帕特里克

© www.soinside.com 2019 - 2024. All rights reserved.