我有一个简单的node.js服务器,它使用Firebase Admin API和身份工具包为客户端在Firebase中生成刷新令牌:
服务器检查凭据并使用客户端标识符(customToken)创建自定义令牌。
var admin = require("firebase-admin");
...
admin.auth().createCustomToken(uid);
服务器向https://www.googleapis.com/identitytoolkit/v3/relyingparty/verifyCustomToken?key=API_KEY发送POST请求,其中包含有效负载 {“returnSecureToken”:true,“token”:customToken} ,并返回IdToken和RefreshToken。
现在我正在尝试从使用Identity Toolkit迁移到Firebase身份验证,并在服务器上进行了以下更改:
服务器检查凭据并使用客户端标识符(customToken)创建自定义令牌,然后使用firebase客户端API和自定义令牌登录以获取IdToken和RefreshToken。
var firebase = require("firebase");
var admin = require("firebase-admin");
...
admin.auth().createCustomToken(uid)
.then(function (customToken) {
firebase.auth().signInWithCustomToken(customToken).then(function (usuario) {
firebase.auth().currentUser.getIdToken().then(function (IdToken) {
console.log(IdToken);
console.log(firebase.auth().currentUser.refreshToken);
...
});
}
);
})。catch(function(error){ console.log(“创建自定义令牌时出错:”,错误); });
服务器将IdToken和RefreshToken返回给客户端。
根据我的理解阅读文档,服务器应该只创建customTokenId然后客户端,使用Firebase Client SDK应该使用该customToken登录,但在这种情况下客户端是如此简单,没有选项使用客户端SDK,并且仅使用REST运行到Firebase。
¿这是管理身份验证过程的正确方法吗? ¿第5步将被弃用,将来会出现问题吗?