将用户从正面和背面连接到Firebase

时间:2017-03-02 15:56:54

标签: angularjs node.js http firebase firebase-authentication

以下是我的案例:

  • 我有一个与Firebase连接的前端(AngularJS),我使用firebase身份验证来验证用户。
  • 对于某些特殊操作(例如,有时我需要向用户发送电子邮件),我必须使用firebase-admin
  • 调用查询Firebase的Web服务(NodeJs)
  • 目前此网络服务未受身份验证保护

所以我的问题是如何使用Firebase处理前后用户身份验证?

如何获取Firebase身份验证Cookie然后将其发送到我的网络服务以授权我的用户?

1 个答案:

答案 0 :(得分:1)

Firebase提供了有关如何verify ID tokens的一些文档。要在客户端Angular代码中检索ID令牌,您可以执行以下操作:

firebase.auth().currentUser.getToken(/* forceRefresh */ true).then(function(idToken) {
  // Send token to your backend via HTTPS
  // ...
}).catch(function(error) {
  // Handle error
});

并验证服务器上的idToken:

// idToken comes from the client app (shown above)
admin.auth().verifyIdToken(idToken)
  .then(function(decodedToken) {
    var uid = decodedToken.uid;
    // ...
  }).catch(function(error) {
    // Handle error
  });