Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/23.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.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
Angularjs 如何更好地通过facebook进行身份验证?_Angularjs_Ajax_Facebook_Spring Security - Fatal编程技术网

Angularjs 如何更好地通过facebook进行身份验证?

Angularjs 如何更好地通过facebook进行身份验证?,angularjs,ajax,facebook,spring-security,Angularjs,Ajax,Facebook,Spring Security,我有一个简单的应用程序,通过中的实现了FacebookOAuth。它可以很好地使用JSP。但现在我想实现angularJS前端。我找到了一个使用ajax进行身份验证的: login: function () { var defer = $q.defer(); $http({ url: config.host + config.loginUrl, met

我有一个简单的应用程序,通过中的实现了FacebookOAuth。它可以很好地使用JSP。但现在我想实现angularJS前端。我找到了一个使用ajax进行身份验证的:

 login: function () {
                var defer = $q.defer();
                $http({
                    url: config.host + config.loginUrl,
                    method: 'POST',
                    async: false
                }).success(function (data) {
                    user = data;
                    lastUser = data;
                    defer.resolve(user);
                    $rootScope.$broadcast('AuthenticateJS.login', user);
                }).error(function () {
                    defer.reject();
                });
当我通过单击Login href调用此函数时,它会抛出一个错误:

(索引):无法加载1 XMLHttpRequest . 请求的服务器上不存在“Access Control Allow Origin”标头 资源。因此,不允许使用源“” 进入

我知道出现这个问题是因为我在Facebook应用程序中插入了应用程序的源代码,但我不知道如何解决这个问题


如果这种方式是不可能的(正如我在stackoveflow上读到的),那么哪种方式更好?也许存在这样一种方法,我可以简单地将我的springsecurity原理设置为angular并将其作为cookie存储在localstorage上

也许你可以使用官方的facebook JS SDK。他们还为Angular提供了一个基本的包装器:但在这种情况下,我将在前端进行身份验证,什么是不安全的,我需要在每个查询上向BackEnden发送usertoken即使facebook说:使用facebook SDK for JavaScript,这是将facebook登录添加到您的网站的推荐方法。。。我建议您在本地主机上创建一个vhost,以便能够将“mydomain.local.com”而不是localhost,并将mydomain.local.com添加到应用程序中允许的URL中。您不能通过AJAX加载登录对话框–您必须将用户重定向到该对话框。(原因应该很明显——用户需要能够通过浏览器地址栏验证他们确实在向Facebook发送登录凭据,而不是某些钓鱼网站。)