使用钛在我的远程数据库中保存facebook信息

时间:2014-03-13 18:55:22

标签: json facebook titanium

您好我想问我已经开发了一个移动应用程序,您可以使用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.");
        }
    }
});

1 个答案:

答案 0 :(得分:0)

您无法访问其Facebook密码。 oauth专门防止您必须知道他们的访问凭据。它允许Facebook分别识别您,以及您使用API​​做什么。如果用户认为合适,用户还可以禁止访问他们的数据。但是,如果你有密码,你可以做任何他们可以做的事情,甚至可以暂时窃取他们的账户。此外,他们的帐户只会像您的密码存储一样安全(它是加密的吗?您的服务器是安全的吗?在内部?妥协?运行任何恶意软件?)。所以一般来说,不,这不是一个坏主意,不要这样做,即使你想办法这样做。

如果您使用上述代码,则表示您已经在应用内授权了用户,因此您无需再次授权他们。他们已经登录。您应该检查if (fb.loggedIn),然后执行您登录的代码else fb.authorize();