具有自定义后端的Firebase身份验证

时间:2018-12-16 20:31:54

标签: ios firebase authentication oauth-2.0 firebase-authentication

我计划使用Firebase对我的iOS应用进行身份验证。但是我想对其余的REST API使用自定义后端。如何在自定义后端中为通过Firebase认证的用户添加授权?我们可以同时使用自定义后端身份验证和Firebase身份验证吗?如何使用Firebase和自定义后端维护会话?

1 个答案:

答案 0 :(得分:1)

您可以使用firebase Admin SDK在后端服务器上验证令牌。

因此,在应用程序上,您将获得Firebase访问令牌并将其发送到您的服务器。 在IOS上,您可以这样做:

FIRUser *currentUser = [FIRAuth auth].currentUser;
[currentUser getIDTokenForcingRefresh:YES
                       completion:^(NSString *_Nullable idToken,
                                    NSError *_Nullable error) {
      if (error) {
        // Handle error
        return;
      }

      // Send token to your backend via HTTPS
      // ...
  }];

更多信息在这里: https://firebase.google.com/docs/auth/admin/verify-id-tokens#retrieve_id_tokens_on_clients

在服务器上,您执行以下操作:

admin.auth().verifyIdToken(idToken)
.then(function(decodedToken) {
  var uid = decodedToken.uid;
  // ...
}).catch(function(error) {
  // Handle error
});

如您所见,您甚至获得了用户的“ uid”。 更多信息在这里: https://firebase.google.com/docs/auth/admin/verify-id-tokens