我使用node.js作为我的Android应用程序的后端服务器。 我从http请求接收id-token,并从我们生成自定义令牌,(我使用此链接:https://firebase.google.com/docs/auth/admin/create-custom-tokens)但我仍然坚持如何将自定义令牌发送回我的Android客户端。
app.get("/id-tokens/:token", function(req,res){
// Receiving id-tokens
var idToken = req.params.token;
admin.auth().verifyIdToken(idToken)
.then(function(decodedToken) {
var uid = decodedToken.uid;
}).catch(function(error) {
console.log("Error receiving tokens");
});
admin.auth().createCustomToken(uid)
.then(function(customToken) {
// Send token back to client?? HOW??
})
.catch(function(error) {
console.log("Error creating custom token:", error);
});
});
可以在这里使用FCM(Firebase云消息传递)吗? 出于安全原因,我想避免使用http方法。可以使用socket,FCM或任何更安全的方法吗? 我是android的新手,所以任何帮助都会受到赞赏...... :)
答案 0 :(得分:1)
app.get("/id-tokens/:token", function(req,res){
var idToken = req.params.token;
admin.auth().verifyIdToken(idToken)
.then(function(decodedToken) {
var uid = decodedToken.uid;
admin.auth().createCustomToken(uid) // you need to do this call once you have the value for uid
.then(function(customToken) { // otherwise, uid will be undefined
res.send(customToken) // since you are using http, just return the token like this
})
.catch(function(error) {
console.log("Error creating custom token:", error);
});
}).catch(function(error) {
console.log("Error receiving tokens");
});
});