Angular에서 로그인 페이지를 만들고 있습니다. 로그인 API 호출 (POST) 후 응답으로 토큰을받습니다. 컨트롤러에서 모든 추가 API 호출에 대한 인증에 사용할 수 있도록 "공통"헤더에이 토큰을 설정하려고합니다.
LoginSrv.authenticate($scope.credentials).then(
function(data){
$http.defaults.headers.common.Authorization = data.token;
$state.go('nextpage');
}
);
다음 페이지에는 다시 POST API 호출이 있습니다. 이 호출 후 디버거에서 요청 헤더를 확인할 때 헤더에 해당 토큰이 표시됩니다. 이 응답은 다시 세 번째 페이지로 이동합니다 (이번에는 헤더를 다시 설정하지 않습니다). 세 번째 페이지에서 API (GET 또는 POST)를 호출 할 때 이번에는 헤더에서 "Authorization"을 사용할 수 없습니다. 이것이 어떻게 제거되는지 잘 모르겠습니다.
세 번째 요청이 교차 도메인이라는 점을 감안할 때 서버가 요청을 보내기 전에 사용 가능한 메소드 등을 확인하기 위해 만들어진 프리 플라이트 브라우저 OPTIONS 요청에 올바르게 응답하지 않는 것으로 보입니다. Angular 문제가 아닙니다. 한 가지 해결책은이 OPTIONS 요청에 올바르게 응답하도록 서버를 구성하는 것입니다. 이 SO 링크 (이전의 주석에서 제공됨)는 잠재적 솔루션에 대해 좀 더 자세히 설명하고 AngularJS가 교차 출처 리소스에 대한 OPTIONS HTTP 요청을 수행합니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다