Authorization 헤더 인증

모찌모찌·2024년 4월 8일
0

유저 기능 원리

목록 보기
2/10
post-custom-banner

Authorization 헤더 인증

수동으로 인증 관리.
클라이언트가 인증서를 직접 저장하고,
리퀘스트의 Authorization헤더를 통해 서버에 보냄.

흐름

바디에 인증서 추가
리스폰스를 클라이언트에 보냄
자바스크립트 코드로 인증서를 직접 저장

쿠키는 리스폰스의 set-cookie 헤더뿐만아니라 클라이언트의 자바스크립트 코드로도 저장할수있는데 클라이언트는 전달받은 쿠키로 단순 저장 수단으로만 사용.

쿠키를 사용하고싶지않다면 로컬스토리지에 저장.
쿠키든 로컬스토리지든 두 저장공간에 저장후 js코드로 읽어오면된다.

✅ 서버에 보내는 방법

  1. 서버에 유효한 이메일과 비밀번호를 보내 서버가 확인해서 인증서를 만듦.
    => 서버는 리스폰스 set-cookie헤더가 아니라 바디에 인증서 추가.

  2. 리퀘스트에 Authorization헤더를 추가하고 그뒤에 인증서를 붙여준다.
    (❗ 브라우저가 자동으로 해주는것이아니라 자바스크립트 코드로 직접 저장된 인증서를 읽어와서 헤더에 붙여줘야 한다.)

  3. 리퀘스트를 받은 서버는 Authorization뒤에있는 인증서를 확인해서 누가 보낸건지 알아낸다.

✅ Authorization 헤더 인증 장점

  1. 리퀘스트에 인증서를 붙일지 안 붙일지 선택 가능
    =>특정 리퀘스트들에는 인증서를 안보내거나, 여러 인증서 중 하나를 선택해서 보내고 싶을때 사용.

  2. 서로 다른 루트 도메인 사이 인증 가능
    => 직접 js코드로 리퀘스트에 인증서를 붙일 수 있기 때문에 조금 더 유연하게 사용가능.

🚨 유의해야될 점

비밀번호 같이 민감한 정보는 쿠키나 로컬 스토리지에 절대 저장하지 않는다.

profile
꼬꼬마 개발자 지망생
post-custom-banner

0개의 댓글