Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Facebook spring社交客户端ajax登录提供程序 故事:_Facebook_Cordova_Spring Security_Spring Social_Childbrowser - Fatal编程技术网

Facebook spring社交客户端ajax登录提供程序 故事:

Facebook spring社交客户端ajax登录提供程序 故事:,facebook,cordova,spring-security,spring-social,childbrowser,Facebook,Cordova,Spring Security,Spring Social,Childbrowser,我正在寻找一些社会融合专家来启发我这个难题。 我的web服务器正在使用spring security对用户登录、注册进行身份验证。我最近在我的web服务器上实现了SpringSocial,一切都很顺利。以fb为例,当用户从facebook登录时,spring social将构建出url并将用户重定向到facebook。一旦用户在facebook上通过身份验证,它就会将他们重定向回我的网站 谜题: 我需要实现我的移动应用程序(html5+phonegap)具有相同的“登录”功能。我浏览了faceb

我正在寻找一些社会融合专家来启发我这个难题。 我的web服务器正在使用spring security对用户登录、注册进行身份验证。我最近在我的web服务器上实现了SpringSocial,一切都很顺利。以fb为例,当用户从facebook登录时,spring social将构建出url并将用户重定向到facebook。一旦用户在facebook上通过身份验证,它就会将他们重定向回我的网站

谜题: 我需要实现我的移动应用程序(html5+phonegap)具有相同的“登录”功能。我浏览了facebook集成页面。有几种方法可以对html5应用程序进行身份验证。我选择了服务器端实现:而不是客户端登录,因为我仍然需要spring assist来检查我的web服务器中是否存在电子邮件,否则重定向注册页面

我遇到的第一个问题是在移动应用程序中重定向,我需要弹出窗口重定向到提供商登录页面,而不是应用程序窗口。我设法通过ajax调用获得重定向url,并在childbrowser phonegap插件中打开新窗口。现在的问题是,当用户通过提供者进行身份验证时,服务器并没有简单的方法向客户端通知“用户已验证”,因为它位于单独的浏览器中

示例代码 通常,在SpringSecurity中,如果用户通过我的RESTAPI进行了身份验证,客户端可以通过成功的回调来发布请求并获得经过身份验证的令牌。我可以为每个RESTAPI调用重用这些令牌。根据上述代码。我不知道身份验证是否完成,以及何时应该将令牌从服务器发送到客户端


如果你能给我一些建议,我将不胜感激。谢谢

我也面临同样的问题。我将尝试实现以下目标:

在Facebook中配置你的应用程序,使返回的地址类似于http://what-ever-dot-com/receiveFacebookResponse 它基本上响应了要在刚刚打开的弹出窗口上执行的javascript代码。此js代码将关闭弹出窗口并在is父窗口(应用程序所在的窗口)上执行函数。此功能必须存在于您的应用程序中。您将其(及其所有参数)放入会话(或cookie)中。此函数应该执行一个ajax调用来更改应用程序的标题,基本上是将“login here”消息更改为“Hello logged user”(以及您可能需要的许多其他内容),并且很可能是完成已启动但登录过程中断的操作


我会尽力告诉你的。我很高兴听到你用其他方法来做这件事。

我也面临同样的问题。我将尝试实现以下目标:

在Facebook中配置你的应用程序,使返回的地址类似于http://what-ever-dot-com/receiveFacebookResponse 它基本上响应了要在刚刚打开的弹出窗口上执行的javascript代码。此js代码将关闭弹出窗口并在is父窗口(应用程序所在的窗口)上执行函数。此功能必须存在于您的应用程序中。您将其(及其所有参数)放入会话(或cookie)中。此函数应该执行一个ajax调用来更改应用程序的标题,基本上是将“login here”消息更改为“Hello logged user”(以及您可能需要的许多其他内容),并且很可能是完成已启动但登录过程中断的操作


我会尽力告诉你的。如果你能换个方式,我会很高兴的。

嗨,奥斯卡。你真的实施了吗?试着给出你的答案以提供具体的指导。还有,你可以提高你的写作水平,让它更清晰。嗨,奥斯卡。你真的实施了吗?试着给出你的答案以提供具体的指导。此外,你还可以提高你的写作水平,让它更清晰。
onFBlogin: function(){
Ext.Ajax.request({
    url: APP.domain + "api/mobile/signin/facebook.json",
    method: 'POST',
    success: function(result, request) {
    var json = JSON.parse(result.responseText);
         window.plugins.childBrowser.onLocationChange = function (url) {
            if(url==APP.domain+"api/mobile/success"){
            window.plugins.childBrowser.close();
            }
    };
    window.plugins.childBrowser.showWebPage(json.outhurl,{ showLocationBar: true });
    },
    failure: function(result, request) {
          console.log("request facebook signin redirect url" + result);
    },
});
}