当前位置: 首页 > 面试题库 >

Firebase注销用户所有会话

商宝
2023-03-14
问题内容

我在iOS应用中使用Firebase身份验证。当用户使用Firebase登录我的应用程序然后注销该用户的所有其他设备(会话)时,Firebase中是否有任何方法?我可以使用Firebase
admin SDK来做到这一点吗?


问题答案:

当我遇到此问题时,我已使用云功能解决了该问题,请访问此链接以获取更多详细信息https://firebase.google.com/docs/auth/admin/manage-
sessions#revoke_refresh_tokens

请执行下列操作;

  1. 设置具有Firebase云功能的Web服务器(如果不存在)
  2. 使用admin APK(这是​​此方法唯一可行的方法)-[访问此链接]((https://firebase.google.com/docs/admin/setup#initialize_the_sdk)。
  3. 创建一个接收uid并​​撤消当前会话的api,如上面第一个链接中所指定
      admin.auth().revokeRefreshTokens(uid)
        .then(() => {
          return admin.auth().getUser(uid);
        })
        .then((userRecord) => {
          return new Date(userRecord.tokensValidAfterTime).getTime() / 1000;
        })
        .then((timestamp) => {
          //return valid response to ios app to continue the user's login process
      });

Voila用户已注销。我希望这能为解决问题提供真知灼见



 类似资料:
  • 我正在用Firebase设置身份验证。我成功登录了,但当我注销时,我的应用程序崩溃了 我在activity_menu上创建菜单。菜单项名为log_out。如果用户单击此项,则必须注销 我尝试这段代码查看错误,但它没有显示给我 我以为它是成功运行的,我没有看到任何错误。我怎么知道呢?

  • 用户无法注销Firebase Android。当我按注销按钮时,它不会注销。 代码在这里:- 日志包括: 02-13 23:54:19.654 307 3-3073/com.example.imran.bloodgenders i/view:Touch down dispatch to android.widget.button{42d3afa0 vfed..........120,594-600

  • 问题内容: 当用户从垂直设备注销时,我要从他迄今为止登录的所有设备中注销。我在Laravel中如何做。 我已经使用Redis通过安装“ predis / predis”:“〜1.0”将userId保留在Session中。 这是我用于登录和注销的控制器: 它已成功登录并注销,但不会终止其他设备上的所有会话。 我该如何解决这个问题? 问题答案: 因此,redis键名中的错字是问题,因为写数据使用的 是

  • 由于我注意到一旦用户使用电子邮件和密码登录,在重新打开应用程序时,会话不会过期,也不需要进行新的身份验证,我希望避免这种情况。

  • 有没有办法销毁特定类的所有创建的会话范围bean(并在需要时让spring重新创建)? 例如,两个用户访问应用程序,然后每个用户将有一个bean。我想毁掉这两颗豆子。 用例: 管理员正在更新菜单栏。菜单栏列表数据存储在会话范围的bean中。管理员的bean应该被销毁,菜单栏应该被更新。当然,其他人的菜单也应该更新,所以其他bean也应该被销毁。 注1:不同的用户可能会看到不同的菜单,因此bean是

  • 问题内容: 我创建了一个Login页面以及许多其他页面,其中包含用于检查会话的代码。如果用户没有会话,则所有页面将重新加载并重定向到注销页面。每三秒钟调用一次此脚本。 我编写的代码可以正常工作,但我想以另一种方式实现它。用户注销后,所有打开的选项卡都会重新加载/刷新,从而导致用户注销。那可能吗? sessioncheck.php : 此代码在每个页脚中: 问题答案: 当ajax有用时 在以下情况下