您好我想问我已经开发了一个移动应用程序,您可以使用Facebook用户名和密码登录,所以我想知道如何将用户名和密码从facebook保存到我的远程数据库任何帮助请
这是我的代码,请帮助:
var fb = require('facebook'); fb.appid = "281158112043247";
// Set the URL
fb.permissions = ['email'];
fb.authorize();
fb.addEventListener('login', function(e) {
if (e.success) {
fb.requestWithGraphPath('me', {}, 'GET', function(e) {
if (e.success) {
var data= JSON.parse(e.result);
xhr = Titanium.Network.createHTTPClient();
xhr.open("Post", "http://192.168.131.145:5220/Create.svc/createClient");
var params = {
Clientusername: data.name,
//password:password1.value,
// Clientpassword: Ti.Utils.md5HexDigest(password1.value),
Clientnom: data.name,
Clientid:data.id,
Clientemail: data.email
};
xhr.send(JSON.stringify(params));
//xhr.send(e.result);
Ti.API.info("Name:"+data.name);
Ti.API.info("email:"+data.email);
Ti.API.info("facebook Id:"+data.id);
} else if (e.error) {
alert(e.error);
} else {
alert('Unknown response.');
}
});// request graph
}else{
if(e.error){
alert(e.error);
}else{
alert("Unkown error while trying to login to facebook.");
}
}
});
答案 0 :(得分:0)
您无法访问其Facebook密码。 oauth专门防止您必须知道他们的访问凭据。它允许Facebook分别识别您,以及您使用API做什么。如果用户认为合适,用户还可以禁止访问他们的数据。但是,如果你有密码,你可以做任何他们可以做的事情,甚至可以暂时窃取他们的账户。此外,他们的帐户只会像您的密码存储一样安全(它是加密的吗?您的服务器是安全的吗?在内部?妥协?运行任何恶意软件?)。所以一般来说,不,这不是一个坏主意,不要这样做,即使你想办法这样做。
如果您使用上述代码,则表示您已经在应用内授权了用户,因此您无需再次授权他们。他们已经登录。您应该检查if (fb.loggedIn)
,然后执行您登录的代码else fb.authorize();
。