목록2024/06 (15)
사이먼's 코딩노트
[REST API 적용]저번 'REST API (2)' 포스팅에 이어서 REST API를 적용하기 위한 코드를 작성해봅시다.전체 코드와 패키지 구조는 깃허브 리포지터리 주소를 통해 참고 부탁드립니다.리포지터리 URL 주소 : https://github.com/psm817/jwt_review GitHub - psm817/jwt_reviewContribute to psm817/jwt_review development by creating an account on GitHub.github.com [로그인 시 JwtProvider에 의해 토큰 생성]MemberController.java 클래스에서 login을 수행할 때 테스트 용으로 Token을 발급하기 위해서 아래와 같이 코드를 수정한다.SpringBoot가..
[REST API 적용]앞선 포스팅 'REST API (1)'에서는 개념 소개를 했다면, 이번에는 실제로 REST API를 적용하기 위해 코드에 적용해봅시다.구현된 코드는 저번 JWT 토큰 발급때 진행했던 리포지터리에서 작업을 이어갈 예정이기 때문에 전체 코드는 해당 리포지터리 주소를 통해 참고 부탁드립니다.리포지터리 URL 주소 : https://github.com/psm817/jwt_review GitHub - psm817/jwt_reviewContribute to psm817/jwt_review development by creating an account on GitHub.github.com [기본 세팅]먼저 REST API 적용을 하기 위해 build.gradle에 아래와 같이 시큐리티, 유효성..
[REST란?]REST는 인터넷과 같이 복잡한 네트워크 통신이 등장함에 따라, 이를 관리하기 위한 지침으로 만들어졌다.대부분의 애플리케이션은 다양한 태스크를 수행하기 위해 다른 내부 애플리케이션 및 서드 파티 애플리케이션과 통신을 해야한다.최근 서버 프로그램은 다양한 브라우저와 스마트폰과 같은 모바일 디바이스에서도 통신을 할 수 있어야하기 때문에 이러한 멀티플랫폼에 대한 지원을 위해 서비스 자원에 대한 아키텍처를 세우고 이용하는 방법을 모색할 결과, REST에 관심을 가지게 되었다.REST는 Representational State Transfer의 약어로써 자원을 이름으로 구분하여 해당 자원의 상태를 주고받는 모든 것을 의미한다.HTTP URI를 통해 자원을 명시하고, HTTP Method(GET, P..
[JWT 토큰 발급]SpringBoot를 통해 JWT 인증 구현 코드를 구현하기 전에 다시 한번 JWT 인증의 내용을 정리해봅시다.서버가 최초로 접속하는 브라우저에게 쿠키의 세션 키 정보를 담는 방식으로 각각의 사용자를 구분한다.초창기 어플리케이션은 쿠키 기능이 없어 ID와 PW를 저장해두었다가, 모든 요청에 한 번에 응답했다.서버에서 신원확인용 토큰을 발급하여, 앱에서 사용하도록하면 해킹 발생 시에 PW를 바꾸지 않아도 된다.JWT 토큰은 정보를 담을 수 있고, 유효성 체크에 DB 조회를 수반하지 않는다.JWT 토큰을 만들 때 Secret key로 흔적을 남기고, JWT 토큰에서 정보를 얻을 때, Secret key로 그것이 오명되지 않았음을 인증한다.JWT 토큰은 한 번 만들면 만료시킬 수 없고, 그..
[인증과 인가]이번 포스팅에서는 웹 어플리케이션의 인증 방식에 대해서 몇 가지 알아보고자 합니다.인증 방식을 알아가기에 앞서 인증과 인가가 무엇인지, 웹 어플리케이션 인증에는 어떤 특수성이 있는지 살펴봅시다.인증이란 해당 사용자가 실제 사용자인지 인증하는 개념으로써, 사용자의 신원을 검증하는 프로세스다. 우리가 흔히 접하는 ID와 비밀번호로 로그인을 하는 동작들이 인증에 해당된다.인가는 인증 이후에 프로세스로, 인증된 사용자가 어떠한 자원에 접근할 수 있는지 확인하는 절차다. 흔히 웹 어플리케이션에서 관리자에게 부여되는 권라자 권한이 인가에 해당된다. [웹 어플리케이션 인증의 특수성]일반적으로 서버와 클라이언트 구조로 되어있다.HTTP 프로토콜을 이용하여 통신하기 때문에 비연결성과 무상태의 특징을 지닌다..