JWT
-
ASP.NET CORE에서의 JWT 처리프로그래밍 2024. 10. 16. 23:45
ASP.NET CORE에서의 JWT 처리에 대해 알아보자. JWT는 JSON Web Token으로 구조는 아래와 같다. Header에는 사용할 알고리즘 및 타입 유형이Payload에는 Claim 정보가Signature에는 헤더에 선언된 알고리즘 private키가 선언된다. 보통 HS256 알고리즘 (HMAC)을 사용하므로 이에 대해 알아보면 아래와 같다.HS256 알고리즘은 서버측서버 측 secret key를 이용해 암호화된 데이터를 발행하고 서버 측에 요청이 올 때 같은secret key로 payload를 암호화 했을 경우 일치 여부를 따지는 논리이다. JWT는 expire time, 즉, 만료시간을 갖는데 payload부분에 사용자 개인정보 또는 민감정보를 넣을 수 있으므로가급적 짧게 가져가는 것이..
-
로그인을 구현하시나요? 당장 Session사용을 멈추세요.프로그래밍 2024. 2. 15. 13:27
Session 객체에 로그인 정보와 유무를 담지 마세요. 빌드 후 다시 로그인 하시겠습니까? 웹 개발을 할때 가장 좋지 못한 계정 관리 케이스가 무엇이냐고 물어 본다면 아래와 같다. "로그인 상태를 Session으로 처리하려고 할때이고 이 말은 빌드할때마다 로그인을 다시 해야 된다는 이야기다." 그럼 어떻게 처리해야 할까? 우리는 JWT가 있음을 알고 있다. 또한 JWT에 Claim정보를 넣을 수 있다는 것도 알고 있다. Claim정보에 사용되는 것들은 대부분 규격화 되어 있다. 따라서 해당 규격에 맞게 JWT를 생성해서 Client(Browser)에서 보관하고 있어야 한다. 그것이 쿠키가 되었든 로컬스토리지가 되었든 말이다. 그럼 서버측에서는 어떻게 로그인 되었는지 알까? JWT는 암호화되어 발행되고 ..