我有一个简单的应用程序,scribe java和example一样实现了facebook oauth。它适用于JSP。但现在我想实现angularJS前端。我通过ajax找到了example与auth:
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调用此函数时,它会抛出一个错误:
(index):1 XMLHttpRequest无法加载 https://www.facebook.com/dialog/oauth?client_id=99999999999999&redirect_uri=http%3A%2F%2Flocalhost%3A8080%2Flogin%3Fnull。 No' Access-Control-Allow-Origin'标题出现在请求的上 资源。起源' http://localhost:8080'因此是不允许的 访问。
我知道出现此问题是因为我在Facebook应用中插入了http://localhost:8080作为应用的来源,但如何解决此问题我不知道。
如果这种方式不可能(正如我在stackoveflow上看到的那样)哪一个会更好?也许它存在一种方式,当我可以简单地采取我的springsecurity主体并将其设置为有角度并将其存储为本地存储中的cookie?