MS Azure를 사용하여 웹 응용 프로그램을 개발 중입니다. 백엔드는 JAVA/Spring 응용 프로그램이고 앞은 Javascript/Angular 개발이지만 관련성이 있다고는 생각하지 않습니다. 내 문제는 하늘의 XSRF 보호에 의해 인증 된 POST 요청이 내 앞면에서 차단되어 이에 대한 정보를 찾을 수 없다는 것입니다. 그냥 명확하게하기 위해, 인증되지 않은 요청은 인증 된 GET 요청은 물론 문제없이 전달됩니다. 나는이 대답 발견Azure 웹 응용 프로그램에 대한 XSRF 보호 작업 방법
2017-02-23T22:44:46 PID[2668] Verbose Received request: POST https://immosearchapi.azurewebsites.net/profile
2017-02-23T22:44:46 PID[2668] Verbose Found 'AppServiceAuthSession' cookie for site 'immosearchapi.azurewebsites.net'. Length: 556.
2017-02-23T22:44:46 PID[2668] Information Sending response: 403.60 Forbidden
2017-02-23T22:44:46 PID[2668] Warning Cross-site request forgery detected for user '[email protected]' from referer 'immosearchweb.azurewebsites.net'!
: 그러나 모든 인증 된 POST 유사한 로그를 생성합니다 Azure website Rest Api only accept GET, POST returns 403. Possibly CORS
사용 에이전트 효과적으로 헤더 변경하는 등 가능한 해결 방법은 실제로는이 요청에 대한 XSRF 보호를 비활성화 .
하지만 Chrome에서 User-Agent를 변경할 수 없으므로 허용되지 않습니다.
그래서 Azure 백엔드에 대해 XSRF를 완전히 비활성화하는 방법이 있습니다 (이 단계에서는 보안이 실제로 문제가되지 않으므로)?
요청에 대한 예상 쿠키 및 헤더에 대한 문서는 어디서 볼 수 있습니까?
는 ... 사전에 감사합니다업데이트 : 이 정말 내 자신의 질문에 대한 답변이 아니라 갱신으로,이 문제에 대한 내 해결이에 프로젝트 구조를 변경하는 것이 었습니다 단일 서버 방식. Azure에서 CORS와 XSRF 문제를 피하기 위해 Spring API를 프론트 엔드와 Rest API를 위해 업데이트했다. 나는 ADAL 작업을 할 수 없었으며, 어쨌든 나를위한 솔루션이 아닌 MS 계정 만 지원하는 것 같습니다.
인증은 분명히 문제의 근본 원인입니다. js 작동을 위해 ADAL을 관리했지만 백엔드 API에 인증 된 요청을 보내는 방법을 알 수 없습니다 (Azure 인증은 ** 실제로 ** 혼란 스럽습니다). 그래서 기본적으로 내 문제를 해결하지 못한다. 나는 여전히 403 응답을 얻는다. 어쩌면 옵션 2에 대한 정보가 있습니까? ADAL없이 인증 된 요청을 생성하려고합니까? –