2016-12-20 1 views
0

현재 로그인 API를 각도 JS 앱과 통합하여 인증하려고합니다.REST API를 사용하는 Angular JS App

이 내 현재 로그인 기능 : 그것은 성공적으로 반환 것

var $promise = $http.post(API + '/login', { 
     username: name, 
     password: pw 
    }); 

    $promise.then(function(msg){ 
    if(msg.data.success == true){ 
     resolve('Login success.'); 
    }else{ 
     reject('Login Failed.'); 
    } 
    }); 

때 성공, 그러나 나는 unauthorization에 대한 오류 받고 있어요 API를 사용하여 사용자의 설정을 GET 할 때. 정말 날 수수께끼,

$http({ 
     method: 'GET', 
     url: API + '/account/settings', 
     withCredentials: true 
    }).then(function successCallback(response) { 
     // SUCCESS 
    }, function errorCallback(response) { 
     // ERROR 
    }); 

그것은 정말 :

이 내 GET 요청입니다. Postman을 사용하여 로그인 할 API 호출을하고 설정에서 가져올 수는 있지만 내 인생에서이 작업을 할 수는 없습니다.

다음은 로그인 요청에서 내 응답 헤더입니다 : 나는 거의 Drywall의 API 년대의 모든 소비 ngFrame라는 프로젝트를 사용하는 서버를 다시 추적하고 발견

Access-Control-Allow-Credentials:true 
Access-Control-Allow-Origin:http://localhost:8100 
Connection:keep-alive 
Content-Length:171 
Content-Type:application/json; charset=utf-8 
Date:Tue, 20 Dec 2016 21:30:05 GMT 
ETag:W/"ab-vCrnhzn26fE4borN6cmpAw" 
set-cookie:connect.sid=s%3A1EF4OfHQ2uYb750QvccZB4pnNCyTsAfd.ISmVn3vE5jXjEwmLbtsQK4O339%2Fw74K3Y613f4%2FcTKE; Path=/; HttpOnly 
Vary:Origin, X-HTTP-Method-Override, Accept-Encoding 
+0

로그인 API에서 결과를 얻으면 응답 헤더에 응답 헤더가 추가 된 것을 볼 수 있습니까? 그렇다면 응답 헤더를 다음 요청 헤더에 추가 했습니까? – Yaser

+0

안녕하세요, @YaserAdelMehraban, 응답과 함께 바디 응답을 얻었습니다. 응답 헤더에서 다음을 다시 얻습니다. –

+0

HTTP/1.1 200 OK 액세스 제어 허용 원점 : http : // localhost : 8100 출처 : X-HTTP-Method-Override, Accept-Encoding 액세스 제어 허용 자격 증명 : true 콘텐츠 형식 : application/json; 캐릭터 = UTF-8 콘텐츠 길이 : 171 의 ETag : W/"AB-vCrnhzn26fE4borN6cmpAw" 셋 쿠키 : connect.sid = S % 3AEtJZCOqfGu4UqZnLGDIfIZXjAYKUQx12.EqyopERh6bEgIawPrtY5Jwqe7HqB5FFBgefqUy 2BSsrk %; 경로 = /; HttpOnly 날짜 : 2014 년 12 월 20 일 21시 20 분 20 초 21시 20 분 26 초 GMT 연결 : 연결 유지 –

답변

1

는, 인증의 샘플이 있습니다 뿐만 아니라.

이 당신이 한 번 봐 걸릴 수있는 소스에 setAuthHeader라는 함수입니다

:

$http.post('/api/login', user).success(function(user) {}); 
:

function setAuthHeader(user) { 
    $http.defaults.headers.common['Authorization'] = user.authHeader 
} 

여기에 전달되는 사용은 로그인 후의 반응에서 오는

여기에 GitHub 페이지가 있습니다.

+0

안녕하세요, 저는 현재 다음을 사용하고 있습니다 : https://github.com/arthurkao/angular-drywall 이것은 모든 설정과 작동을하는 마른 벽에서 나오는 벽의 각진 버전입니다. 그래서 내 로그인 게시물이 잘못되었다는 말씀입니까? 또는 응답 뒤가 옳지 않습니까? –

+0

당신이 security.js를 살펴 본다면 인증 헤더를 설정하는 곳이 없다. 요격되지 않은 서버 재 시도를 위해 사용하는 요격기도 없습니다. – Yaser

+0

젠장, 그래서 일을하기 위해 간단히 편집 할 수있는 것이 아무것도 아닌가요? –