我完全不知道该怎么做。我只想用用户的用户名和密码对用户进行身份验证--所以我必须使用Firebase的customAuth
。
我创建了一个服务器(node.js)来处理令牌的生成(运行在Heroku上):
var express = require('express')
var Firebase = require('firebase')
var app = express()
app.set('port', (process.env.PORT || 5000))
app.use(express.static(__dirname + '/public'))
app.listen(app.get('port'), function() {
console.log("Node app is running at localhost:" + app.get('port'))
})
var SECRET = "numbers would be here";
var tokenGenerator = new FirebaseTokenGenerator(SECRET);
var AUTH_TOKEN = tokenGenerator.createToken({
uid: "arbitrary",
data: "blahblahblah"});
console.log(AUTH_TOKEN);
var ref = new Firebase("null");
ref.authWithCustomToken(AUTH_TOKEN, function(error, authData) {
if (error) {
console.log("Login Failed!", error);
} else {
console.log("Login Succeeded!", authData);
}
});
现在我有了一个Android应用程序,我想对用户进行身份验证。如果我有类似的东西
Firebase mRef = new Firebase("myFirebaseUrl");
mRef.authWithCustomToken(String token, AuthResultHandler handler); //issue
我不知道如何得到token
。此外,我不确定我是否理解如果令牌总是相同的话,这有什么关系。
发布于 2016-02-17 10:26:33
您需要想出一种安全的方法,将用户名和密码从您的Android客户端传递到node.js服务器,并随后将结果令牌(或任何错误代码)从node.js服务器传送回客户机。
虽然这是绝对有可能的(这几乎是Firebase email+password身份验证的工作方式),但这绝对是一个过于宽泛的主题,无法在StackOverflow答案中讨论。这是一个项目而不是一个问题。
您可以考虑的是使用Firebase email+password auth,然后将电子邮件域挂起。因此,如果用户使用用户名Nxt3
和密码注册,您只需将一个虚拟域附加到用户名,并将它们注册为Nxt3@dummydomain.com
。
https://stackoverflow.com/questions/35448407
复制相似问题