【问题标题】:Can I use Firebase's authentication to protect data on my own private server?我可以使用 Firebase 的身份验证来保护我自己的私有服务器上的数据吗?
【发布时间】:2020-05-05 07:52:55
【问题描述】:

由于我的项目的一些限制,我需要将我的 api 服务器和数据库与 firebase 分开管理,但是没有什么能阻止我使用他们的其他工具,例如分析和在这种特殊情况下的身份验证。

我想问是否可能出现以下情况:

  1. 我在我的客户端应用上使用他们的 SDK 对用户进行身份验证
  2. 我在 API 的标头中发送相关的 jwt 数据

然后我可以在我的服务器上以某种方式验证这一点,因此本质上避免复杂的身份验证服务并为此使用 firebase 吗?有没有例子,最好是NodeJS服务器。

【问题讨论】:

    标签: firebase firebase-authentication


    【解决方案1】:

    是的,您可以,这是非常常见的用例,并且 Firebase 身份验证已考虑到这种用法。如您所说,在标头上发送 jwt 数据,然后在服务器上,您使用 firebase 服务验证令牌:

    var admin = require('firebase-admin');
    
    admin.initializeApp(); //may require other steps, see last link
    
    // idToken comes from the client app
    admin.auth().verifyIdToken(idToken, true)//second argument is optional, checks whether the ID token was revoked
      .then(function(decodedToken) {
        let uid = decodedToken.uid;
        // ...
      }).catch(function(error) {
        // Handle error
      });
    

    https://firebase.google.com/docs/auth/admin/verify-id-tokens

    https://firebase.google.com/docs/reference/admin/node/admin.auth.Auth#verifyidtoken

    https://firebase.google.com/docs/admin/setup

    【讨论】:

      猜你喜欢
      • 2017-07-11
      • 2019-02-14
      • 1970-01-01
      • 1970-01-01
      • 2019-12-07
      • 2016-04-21
      • 2020-10-11
      • 2017-03-17
      • 1970-01-01
      相关资源
      最近更新 更多