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