【发布时间】:2017-09-05 07:31:32
【问题描述】:
我有一个网站,无需进行身份验证即可使用该网站。
为了能够在未登录的情况下保留用户数据,我在我的AppComponent 中使用了signInAnonymously()。
当用户想要注册到网站时,我按照以下步骤操作:
- 请求 oauth。
- 检查此 oauth 是否已在我的数据库中。
- 如果 oauth 尚未在 db 中,则恢复到上一个匿名状态。
- 如果数据库中已经存在,则获取用户数据。
但问题是:一旦我打电话给signInWithPopup(),最后一个身份验证状态就丢失了,因为它是一个匿名状态,我无法再次登录。
因为匿名状态包含我不希望用户丢失的数据,所以如果注册过程失败,我必须能够恢复到上一个匿名状态。
【问题讨论】:
-
当您说“此 oauth 是否已在我的数据库中”时不清楚。您是否打算在某些条件下将匿名用户升级为 OAuth 用户,如果不满足条件,则坚持匿名用户?
-
没错,当用户进入注册页面并注册时,我将他的电子邮件和其他数据添加到数据库中。登录过程的目标是检查数据库中是否存在电子邮件,如果存在则登录成功,否则登录失败并返回上一次匿名状态。
标签: firebase firebase-authentication angularfire2