我是开发SPA的新手。我在Passport中使用了AngularJS和NodeJS。我成功实现了localStrategy。现在我正在尝试:,LinkedInStrategy = require('passport-linkedin-oauth2')。策略
当我尝试登录请求时,收到以下错误: XMLHttpRequest无法加载
"http://localhost:8000/login/linkedin. The request was redirected to 'https://www.linkedin.com/uas/oauth2/authorization?state=SOME%20STATE&respon… %2Fcallback&scope=r_emailaddress%20r_basicprofile&client_id=7708er3z2xorot'"
,不允许需要预检的跨源请求。
如果我手动点击链接,它会显示授权页面;此外,我在LinkedIn注意到API请求计数正在上升,但我无法显示授权页面?
答案 0 :(得分:0)
我发现了我做错了什么并想分享修正和解决方案:
最初,我正在从我的客户端到我的服务器(NodeJS)进行$ http.get调用(使用AngularJS)。我从服务器调用了名为passport的函数。
相反,现在我只设置窗口地址$ window.location.href = myServerRouteLinkedin
$scope.loginOauth = function (provider) {
$window.location.href = environment.apiAuthentication + '/login/' + provider;
}
希望它可以帮助别人。