본문 바로가기
백엔드/Java

OAuth2 승인 방식의 종류

by david100gom 2020. 5. 23.

 

  • Authorization Code Grant Type : 권한 부여 코드 승인 타입

    클라이언트가 다른 사용자 대신 특정 리소스에 접근을 요청할 때 사용됩니다. 리소스 접근을 위한 사용자 명과 비밀번호, 권한 서버에 요청해서 받은 권한 코드를 함께 활용하여 리소스에 대한 엑세스 토큰을 받는 방식입니다. 이 방식은 Refresh Token의 사용이 가능합니다.  클라이언트가 시스템 서버에 구현되어야 합니다.

  • Implicit Grant Type : 암시적 승인

    권한 부여 코드 승인 타입과 다르게 권한 코드 교환 단계 없이 엑세스 토큰을 즉시 반환받아 이를 인증에 이용하는 방식입니다. 이 방식은 Refresh Token 을 사용할 수 없습니다. 클라이언트가 웹브라우저에서 직접 통신을하며 자바스크립트 등의 언어로 구현됩니다.

  • Resource Owner Password Credentials Grant Type : 리소스 소유자 암호 자격 증명 타입

    클라이언트가 사용자이름과 암호를 직접 Authorization Server에 전달하여 엑세스 토큰에 대한 사용자의 자격 증명을 교환하는 방식입니다. Authorization Server의 로그인화면이 생략됩니다. 이 방식은 Refresh Token의 사용이 가능합니다. 네트워크를 통하여 사용자의 이름과 암호가 노출이 되는 방식이므로 보안프로토콜(https)를 사용하여 네트워크를 통해 중요정보가 탈취되지 않도록 해야 합니다.

  • Client Credentials Grant Type : 클라이언트 자격 증명 타입

    클라이언트가 컨텍스트 외부에서 액세스 토큰을 얻어 특정 리소스에 접근을 요청할 때 사용하는 방식입니다. 토큰을 요청하면 인증없이 바로 액세스 토큰을 발급합니다. 인증이 없으므로 접근권한 관리에 유의하여 사용해야 합니다. 이 방식은 Refresh Token을 사용할 수 없습니다.

 

참고 :  https://parandol.tistory.com/4

댓글