ios - 带有自定义后端的 Firebase 身份验证
问题描述
我计划使用 Firebase 对我的 iOS 应用进行身份验证。但我想为其余的 REST API 使用自定义后端。如何在我的自定义后端为通过 Firebase 身份验证的用户添加授权?我们可以同时使用自定义后端和 firebase 身份验证吗?如何同时使用 Firebase 和自定义后端来维护会话?
解决方案
您可以使用 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
推荐阅读
- c++ - 特殊的错误 - 参数不存在尚未构建,直到参数名称更改然后它更有利地破坏
- c# - WCF 使用凭据和 IIS 以编程方式启用 TLS
- javascript - 如何从javascript中的单词中间删除双引号
- sql - 如何通过在其间插入字符来更新字符串
- javascript - 在 Safari 中,重复 setAttributeNS() 调用会创建其他属性
- c# - Visual Studio 2017 Community: "Using" suggestions for classes
- php - 编辑在 composer 中管理的多个 PHP 包
- c++ - 使用算法头时,同一程序无法在 Windows 上编译
- javascript - 使用 JS 的快速 DOM 动画
- android - 未检测到写入 mifare 1k 卡的 Ndef 数据