💪 Today I Learned

로그인 인증 및 유지 방법

  • Cookie : 클라이언트의 저장소 중 하나
  • Session : 서버의 저장소

session ID 사용 시 API 요청할 때마다 아이디와 패스워드를 함께 보내지 않아도 되는 1차원적인 해결한다. 하지만 서버에서 관리해줘야 할 것이 늘어나 서버 부하의 문제가 있다.

JWT (Jason Web Token)

  • Header : meta-data
  • Payload : real data (중요 정보 제외)
  • Signature : Header, Payload, Secret key를 묶어 암호화

서버 부하를 해결했으나 토큰이 탈취될 경우 보안상의 문제가 있다. 이것은 payload에 유효기간을 설정해 해커가 탈취할 수 있는 시간을 한정적으로 막으면 된다.

OAuth 2.0

  • 인증 관련 프로토콜

여러 웹/앱을 사용하다 보면 회원가입 창에 소셜 로그인 기능이 있는 경우가 많다. 이것들은 모두 OAuth를 사용한 것인데 JWT와 비슷하게 access token을 이용한다.

🏃 한마디

소프트 스퀘어드 5주차 수업을 들으며 인증 관련해서 알아두어야 할 점이 많다고 느꼈다. API 설계 시 이 모든 것들을 고려해서 validation 처리를 해줘야하기 때문에 저번주 과제를 많이 수정해야겠다.