CS/Programming
-
[CS/Programming] JWT(JSON Web Token) / OAuthCS/Programming 2025. 3. 21. 20:29
• JWT토큰 인증 방식에서 쓰이는 것이라고 볼 수 있습니다. 다른 사용으로는 데이터를 공유하는데도 사용할 수 있지만 일반적으론 토큰 인증 방식에서 사용됩니다. JWT는 헤더, 페이로드, 시그니쳐로 구분됩니다. 헤더는 토큰의 타입, 암호화 알고리즘을 담고 있고, 페이로드는 토큰의 정보를 담는 부분이며, 시그니쳐는 토큰의 정보가 신뢰할 수 있는 것인지 판단할 수 있도록 합니다. JWT는 세션 기반 인증과 주로 대비됩니다. 세션 기반 인증은 서버에서 세션 정보를 관리해야 하는 비용이 들게 됩니다. 또한 분산 환경에서도 관리하기 어렵습니다. 하지만 JWT는 그 자체로 정보를 가지고 있기 때문에 세션의 단점을 보완할 수 있습니다. • 로그인 인증시 JWT 사용만약 유효기간이 짧은 Token을 발급하게되면..
-
[CS/Programming] RESTful API / RESTful하게 API를 디자인 한다는 것CS/Programming 2025. 3. 14. 20:21
• RESTful API RESTful API는 HTTP 통신을 REST 설계 규칙을 잘 지켜서 개발한 API를 RESTful한 API라고 합니다. REST 설계 규칙은 URI는 정보의 자원만 표현해야 하며, 자원의 상태와 행위는 HTTP Method에 명시하는 걸 말합니다. • RESTful하게 API를 디자인한다는 것 RESTful하게 디자인한다는 것은 URI를 규칙에 맞게 잘 설계했는지의 여부입니다. 1. 리소스와 행위를 명시적이고 직관적으로 분리합니다. 리소스는 URI로 표현되는데 리소스가 가리키는 것은 명사로 표현되어야 합니다. 행위는 HTTP Method로 표현하고, GET / POST / PUT / DELETE / PATCH 를 분명한 목적으로 사용합니다. 2. Message는 He..