🔙뒤로가기
인증 및 권한 관리는 웹 API에서 사용자의 신원을 확인하고, 해당 사용자가 허용된 자원에만 접근하도록 보장하는 중요한 보안 요소이다. 여기서 소개하는 OAuth와 JWT는 인증 및 권한 관리에 널리 사용되는 기술이다.
OAuth (Open Authorization)
- OAuth는 애플리케이션 간의 인증 및 권한 부여를 위한 표준 프로토콜이다.
- 사용자가 제 3자 애플리케이션에게 자신의 계정 데이터에 대한 일정 범위의 접근 권한을 부여할 수 있다.
- OAuth를 사용하면 사용자가 자신의 아이디와 비밀번호를 직접 공유하지 않아도 되므로, 보안성이 향상된다.
- 대표적인 OAuth 버전은 OAuth 2.0이다. 많은 인터넷 서비스가 OAuth 2.0을 사용하여, 다른 서비스의 계정 정보를 활용한 로그인 기능을 제공합니다.
(예 : 구글 계정으로 로그인하기”)
JWT (JSON Web Token)
- JWT는 JSON 형식의 토큰으로, 클라이언트와 서버 간에 정보를 안전하게 전송할 수 있다.
- JWT는 토큰의 헤더(header), 페이로드(payload), 서명(signature) 세 부분으로 구성된다.
- 헤더 : 토큰 타입과 암호화 알고리즘에 대한 정보를 포함한다.
- 페이로드 : 전달할 데이터(클레임)를 포함한다. 클레임은 사용자 신원, 권한, 만료 시간 등의 정보를 담을 수 있다.
- 서명 :서버에서 생성한 서명으로, 토큰의 무결성을 검증하는 데 사용된다.
- JWT는 상태를 저장하지 않는 RESTful API에서 인증 정보를 전달하기 적합하다. 서버는 클라이언트의 요청에 포함된 JWT를 검증하여 인증 및 권한을 확인한다.
이러한 기술들은 웹 API에서 인증 및 권한 관리를 보다 안전하게 구현할 수 있도록 돕는다. 웹 API를 설계할 때는 적절한 인증 및 권한 관리 방식을 선택하여 사요자의 데이터를 보호하는 것이 중요하다.