0

나는 웹 API를 가지고 있으며, 이는 각도에서 개발 된 크로스 도메인 클라이언트 애플리케이션에 의해 호출된다. CSRF 공격으로부터 웹 API를 보호 할 수있는 방법. 내가 토큰 기반 인증도메인 간 클라이언트에서 호출 한 경우 CSRF 공격으로부터 웹 API를 보호하려면 어떻게해야합니까?

을 사용하고

나는 마이크 Wasson 것을 https://docs.microsoft.com/en-us/aspnet/web-api/overview/security/preventing-cross-site-request-forgery-csrf-attacks

에 의해 다음 문서를 통해 갔다 그러나 다른 도메인에있는 경우 위의 경우에도 클라이언트와 웹 API는 같은 도메인에 를 실행 AntiForgeryToken을 어떻게 전달할 수 있습니까?

답변

0

응용 프로그램에서 토큰을 받기 시작할 때 쿼리 할 수있는 끝점을 만드는 방법은 무엇입니까? 그런 다음 각진 앱에서 앞으로 요청할 때마다 함께 보내십시오.

public class AntiForgeryController : ApiController 
{ 
    [HttpGet] 
    public IHttpActionResult Get() 
    { 
     string cookieToken; 
     string formToken; 
     AntiForgery.GetTokens(null, out cookieToken, out formToken); 

     return Ok(new {cookieToken, formToken}); 
    } 
} 
+0

공격자도이 호출에 대해 알게 될 것이므로 요청자와 함께이 값을 호출하고 전달할 수 있습니다. – niknowj

+0

물론 가능합니다. 이 엔드 포인트에서 일부 유형의 인증이 필요합니다. – peco