HTTP 인증

ZZ3n·2020년 8월 8일
0

HTTP

목록 보기
2/3

HTTP 인증 프레임워크

기본적인 인증 프로세스

  1. 클라이언트 측에서 서버에게 요청을 보냄.
  2. 서버 측에서 클라이언트 측에 인증이 필요하다는 응답을 보냄.
    (401 Unauthrized) 코드와 함께 어떻게 인증해야하는지에 대한 정보를 제공함.
  3. 클라이언트 측에서 서버 측에서 보낸 응답을 바탕으로 인증 정보를 구성해서 보냄.
  4. 서버 측에서 인증 성공 응답을 보냄.

프록시 인증

동일한 방법이 프록시 인증을 위해서도 사용될 수 있다. 프록시 인증과 리소스에 대한 인증은 같이 사용 될 수 있다. 하지만 프록시는 401이 아닌 407 코드를 사용해서 인증 절차를 알린다.

인증을 위한 헤더

WWW-Authenticate: <type> realm=<realm>
Proxy-Authenticate: <type> realm=<realm>

  • WWW-Authenticate 는 리소스에 대한 요청에 대해,
    <type> 방식의 인증 방법을 제시하고, 권한의 scope는 <realm> 으로 한정한다.
  • Proxy-Autheticate 는 프록시에서 인증 필요 응답을 보낼 때 사용한다.
    내용은 WWW-Authenticate와 동일하다.

Authorization: <type> <credentials>
Proxy-Authorization: <type> <credentials>

  • Authorization 헤더는 WWW-Authenticate에 대한 요청을 보낼때 포함하는 헤더이다.
    인증 방법인 <type> 을 또 한번 제시해야하며, 인증 내용인<credentials>를 함께 보낸다.
  • Proxy-Authorization는 프록시에 대한 인증을 한다.
    WWW-Authenticate와 동일한 내용을 포함한다.

❗ 여기서 동일하다는 뜻은 A == B가 아니라, typeof(A) == typeof(B)

  • <type>에는 Basic, Bearer, Digest, HOBA 등이 있다.

0개의 댓글