2016-06-11 4 views
0

로그인 폼에 href = "users/facebook"이라는 간단한 버튼을 사용하면 Facebook 콜백이 제대로 작동합니다.

서비스 기능이 "users/facebook"을 호출하지만 작동하지 않도록 변경하려고합니다./

login.html

<a href="" ng-click="facebookLogin()" class="btn btn-primary"><span class="fa fa-facebook"></span> 

controllers.js

$scope.facebookLogin = function() { 
     console.log('facebookLogin called'); 
     AuthFactory.facebookLogin(); 
    }; 

services.js

authFac.facebookLogin = function() { 
     console.log('in services/facebooklogin'); 
     $resource(baseURL + "users/facebook").get(function(){ 
    }); 
    }; 

루트

//not working 
    router.get('/facebook', passport.authenticate('facebook'), 
     function(req, res){ 
     console.log('facebook called'); 
     }); 
를 users.js : 지금이

콘솔에 따르면 "https://localhost:3443/users/facebook"에 대한 $ 리소스 호출은 작동하지만 router.get ('/ facebook)이 작동하지 않습니다. 나는 무엇이 잘못되었는지 알 수 없습니다.

편집 :

우체부 GET https://localhost:3443/users/facebook$resource(baseURL + "users/facebook").get(function()가 작동하지 않는 이유는 내가 이해할 수없는 완벽하게 작동합니다.

답변

0

나는 내 서버 파일에 다음을 추가하여 내가 CORS 알아서 거라고 생각 :

app.use(function(req, res, next) { 
    res.setHeader('Access-Control-Allow-Origin', '*'); 
    res.setHeader('Access-Control-Allow-Methods', 'GET, POST'); 
    res.setHeader('Access-Control-Allow-Headers', 'X-Requested-With,content-type, Authorization'); 
    next(); 
}); 

을하지만 여전히 말 만 사용하여 고정 된 문제였다

window.location = window.location.protocol + '//' + window.location.host + '/users/facebook'; 

대신 :

$resource(baseURL + "users/facebook") 

이제 facebookCallback 기능이 작동합니다.

관련 문제