Firebase-使用自定义提供程序的{fetchSignInMethodsForEmail(email)

时间:2020-04-21 13:41:19

标签: firebase react-native google-cloud-firestore

我正在使用3种方法实现登录页面:电子邮件,Facebook和Linkedin。由于Linkedin不是Firebase中的默认提供程序,因此我需要使用“ signInWithCustomToken”方法。一切都很好。

当我先在Linkedin上创建一个帐户,然后尝试使用使用相同电子邮件的另一种方法进行注册时,就会出现问题:

error.code == 'auth/account-exists-with-different-credential'

我做了研究并找到了方法:

firebase.auth().fetchSignInMethodsForEmail(email)

该方法应该返回用户可以使用的可用方法的列表,因此我可以显示一条消息:

"This email address was registered using Linkedin"

最大的问题是,仅当fetchSignInMethodsForEmail是默认提供程序时才有效:Facebook,Twitter等,但不适用于自定义提供程序。我的猜测是,由于没有“可用”提供程序方法,因此不会返回任何内容。

是否可以设置提供者数据? setProvider方法?也许甚至在身份验证仪表板上显示一个图标?或以某种方式使它工作?

我当时正在考虑创建一个文档,可以在其中将属性“ provider”设置为LinkedIn,Facebook等,但这是我目前的最后选择。

在此先感谢您的帮助。

0 个答案:

没有答案