Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >firebase react-native:通过电话身份验证将匿名用户转换为永久用户

firebase react-native:通过电话身份验证将匿名用户转换为永久用户
EN

Stack Overflow用户
提问于 2019-06-23 18:18:20
回答 1查看 492关注 0票数 2

我的react原生应用程序允许用户使用firebase匿名登录。在那之后,我希望让用户通过firebase电话身份验证创建一个帐户,并将这个匿名帐户转换为一个永久帐户。

基于firebase提供的api和文档,我认为这是可能的

匿名帐户创建:https://rnfirebase.io/docs/v5.x.x/auth/reference/auth#signInAnonymously

电话身份验证创建和检索凭据:https://rnfirebase.io/docs/v5.x.x/auth/reference/PhoneAuthProvider#credential

使用新凭据链接现有用户:https://rnfirebase.io/docs/v5.x.x/auth/reference/User#linkWithCredential

https://firebase.google.com/docs/auth/web/account-linking

下面是我所做的

匿名帐户创建:

代码语言:javascript
运行
AI代码解释
复制
const {user: {uid: userID}} = await firebase.auth().signInAnonymously();

// successfully created and save this user's id

让用户进行身份验证并获取电话身份验证凭据:

代码语言:javascript
运行
AI代码解释
复制
const credential = firebase.auth.PhoneAuthProvider.credential(verificationId, code);

在这一点上,我将拥有一个有效的凭证&一个现有的准备链接的匿名用户

然后,我将电话身份验证凭据提供给我的匿名用户以进行链接

代码语言:javascript
运行
AI代码解释
复制
const authUser = await firebaseAuth.currentUser.linkWithCredential(credential);

我希望根据我的输入成功链接,但我得到的却是错误,我得到的错误是

代码语言:javascript
运行
AI代码解释
复制
Error: This credential is already associated with a different user account.

错误码为:ERROR_CREDENTIAL_ALREADY_IN_USE

ERROR_CREDENTIAL_ALREADY_IN_USE下的文档中,他们确实提到:

如果您通过将谷歌凭据链接到匿名用户来将匿名用户升级为谷歌用户,并且使用的谷歌凭据已经与现有的Firebase相关联,则可能会抛出此错误。根据凭据的类型,可能会提供error.email、error.phoneNumber和error.credential (AuthCredential)字段。您可以通过auth#signInWithCredential直接登录error.credential来从此错误中恢复。

但是我还没能在error对象下找到要从错误中返回的error.credential。

我见过许多将匿名用户与其他身份验证提供商链接的工作示例,但从未见过firebase匿名用户与firebase电话身份验证之间的链接。有没有人知道是否支持这种类型的链接?谁能指出我在这里做错了什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-06-26 18:44:44

跟进:

因此,我发现我的代码确实可以工作,这就是实现firebase匿名用户-> firebase电话身份验证帐户链接的方式。

这对我不起作用的原因是因为……对于我们的应用程序,我们有一个微服务,每次用户输入确认码时,都会在后端创建帐户。事后看来,我真的应该仔细检查一下我们自己的代码库,吸取教训。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56726661

复制
相关文章
offset size_c语言sizeof求结构体长度
sizeof与offsetof在程序中经常遇到,但在面试中其应用使得许多小伙伴吃闭门羹,被面试官问得哑口无言。接下来对两者的应用做详细介绍。
全栈程序员站长
2022/09/23
7080
RSA密钥长度、明文长度和密文长度
本文介绍RSA加解密中必须考虑到的密钥长度、明文长度和密文长度问题,对第一次接触RSA的开发人员来说,RSA算是比较复杂的算法,天缘以后还会补充几篇RSA基础知识专题文章,用最简单最通俗的语言描述RSA,让各位了解RSA算法本身其实也很简单,RSA的复杂度是因为数学家把效率和安全也考虑进去的缘故。
竹清
2018/08/31
22.5K0
Redis的SDS的内部结构,它的长度和空间预分配策略
SDS(Simple Dynamic String)是Redis中用于处理字符串的数据结构。
一凡sir
2023/09/14
5050
Redis的SDS的内部结构,它的长度和空间预分配策略
NUMBER长度的误解
NUMBER类型是Oracle的一种变长数值类型,他的取值范围是10^(-130)-10^126(不包括),精度是38位,存储空间是1-22字节。
bisal
2020/04/17
3.2K0
数据结构--链表--单链表中环的检测,环的入口,环的长度的计算
完整代码见:https://github.com/hitskyer/course/tree/master/dataAlgorithm/chenmingming/linkedList
Michael阿明
2021/02/20
5950
数据结构--链表--单链表中环的检测,环的入口,环的长度的计算
24:单词的长度
24:单词的长度 总时间限制: 1000ms 内存限制: 65536kB描述 输入一行单词序列,相邻单词之间由1个或多个空格间隔,请对应地计算各个单词的长度。  注意,如果有标点符号(如连字符,逗号),标点符号算作与之相连的词的一部分。没有被空格间开的符号串,都算作单词。 输入一行单词序列,最少1个单词,最多300个单词,单词之间用至少1个空格间隔。单词序列总长度不超过1000。输出依次输出对应单词的长度,之间以逗号间隔。样例输入 She was born in 1990-01-02 and
attack
2018/04/03
1.8K0
webservice最大长度_网址最大长度
HTTP GET请求的最大长度是多少? 是否定义了一个响应错误,如果服务器收到超过此长度的GET请求,服务器可以/应该返回该错误?
全栈程序员站长
2022/09/23
3.3K0
webservice最大长度_网址最大长度
套接字地址结构的长度之类的值-结果参数要用指针来传递原因
当函数调用时,结构大小是一个值,它告诉内核该结构大小,这样内核在写该结构时,不至于越界;当函数返回时,结构大小又是一个结果,他告诉进程内核在改结构中究竟 存储了多少信息。
心跳包
2020/08/31
1K0
LeetCode 数据结构与算法无重复字符的最长子串长度详解
我们可以利用 hash 来判断不重复子串。如果 hash 表中存在该字符串,就进入下次循环;如果不存在,就放入集合中然后在再移动右指针。
PHP开发工程师
2022/04/12
2770
mysql前缀索引 默认长度_如何确定前缀索引的长度?
Specified key ‘uniq_code’ was too long; max key length is 767 bytes.
全栈程序员站长
2022/08/31
3.7K0
密码学系列之:Merkle–Damgård结构和长度延展攻击
Merkle–Damgård结构简称为MD结构,主要用在hash算法中抵御碰撞攻击。这个结构是一些优秀的hash算法,比如MD5,SHA-1和SHA-2的基础。今天给大家讲解一下这个MD结构和对他进行的长度延展攻击。
程序那些事
2021/07/23
1.9K0
数据结构算法操作试题(C++/Python)——最后一个单词的长度
数据结构算法操作试题(C++/Python):数据结构算法操作试题(C++/Python)——目录
莫斯
2020/09/09
3200
ACL 2022 | 基于长度感知注意机制的长度可控摘要模型
以往的长度可控摘要模型大多在解码阶段控制长度,而编码阶段对指定的摘要长度不敏感。这样模型倾向于生成和训练数据一样长的摘要。在这篇论文中,作者提出了一种长度感知注意机制(LAAM,length-aware attention mechanism)来适应基于期望长度的编码。
zenRRan
2023/01/12
9910
ACL 2022 | 基于长度感知注意机制的长度可控摘要模型
任务显示与隐藏,任务管理器中应用程序显示与隐藏,悬浮窗任务栏显示 效果
1. 隐藏底部 “任务栏图标”和 隐藏 “任务任务管理器——应用程序—任务” ModifyStyleEx(WS_EX_APPWINDOW,WS_EX_TOOLWINDOW);                        
全栈程序员站长
2021/12/06
1.6K0
序列比对的长度限制
前几天做序列比对,试了MUCSLE和MAFFT,但是程序总是被kill。刚开始以为是序列格式不对,但是检查到最后发现是序列太长了。以前没注意过这些比对算法对长度的要求,此文记录一下。
Listenlii-生物信息知识分享
2020/05/29
4K0
QML获取文字的长度
额外增加一层的Text, 并通过绑定父级的Text文本属性,即使父级的文本的width属性改变也不会影响到textLength的获取。
Qt君
2019/07/15
3.3K0
javascript计算对象的长度
计算对象的长度,即获取对象属性的个数 方法一:通过for in 遍历对象,并通过hasOwnProperty判断是否是对象自身可枚举的属性 var obj = {"c1":1,"c2":2}; function countProperties(obj){ for(var property in obj){ if(Object.prototype.hasOwnProperty.call(obj,property){ count++; })
用户1214487
2018/01/24
1.6K0
长度未知的数组大小
malloc 和 calloc都可以被用于申请堆上的空间。 malloc 和 calloc主要有两点不同:
小飞侠xp
2021/04/13
2.6K0
移动适配的长度单位
例:html中字体尺寸为 20px,盒子宽度为 5rem,则最后显示的盒子宽度为 100px。
岳泽以
2022/10/26
1.3K0
移动适配的长度单位
点击加载更多

相似问题

在Blender中获取关键帧点数组

14

blender _ python中的连接节点

12

命名组+x修改器

11

收集选项组值并将值插入到表中

12

如何使用Python在Blender 2.78a中制作关键帧?

12
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档