Home
Web
OAuth2 인증 방식 및 프로세스
devfoxstar
devfoxstar
February 23, 2022
1 min

Table Of Contents

01
OAuth (Open Authorization)
02
OAuth2 구성
03
OAuth2 인증 방식
04
OAuth2 프로세스

OAuth (Open Authorization)


OAuth는 인증을 위한 개방형 프로토콜입니다.
리소스 소유자를 대신해서 자원에 대한 접근 권한을 인증 받는 방식입니다.

OAuth2 구성


  1. Resource Owner : 사용자
  2. Client : 사용자가 접속해서 인증을 받고자 하는 서비스
  3. Authorization Server : 사용자 정보를 인증 받기 위한 인증 서버
  4. Resource Server : 실제 사용자 정보를 저장하고 있는 리소스 서버

OAuth2 인증 방식


  1. Authorization Code Grant

    • 권한 부여 승인 코드 방식
    • 권한 부여 승인 코드를 발급해서 Access Token을 교환하는 방식
    • 인증 절차가 많기 때문에 가장 안전한 방식으로 주로 타사 클라이언트에 보호된 자원을 제공하기 위해 사용
  2. Implicit Grant

    • 암묵적 승인 방식
    • 권한 부여 승인 코드 없이 바로 Access Token을 발급하는 방식
    • 클라이언트에 제약이 있을 때 주로 사용하며, 보안 이슈로 권장하지 않음
  3. Resource Owner Password Credentials Grant

    • 자원 소유자 자격 증명 승인 방식
    • 사용자 로그인 정보만으로 Access Token을 발급하는 방식
    • 자사 클라이언트에만 적용 가능하고 클라이언트, 인증 서버, 리소스 서버가 모두 같은 시스템에 있어야 함
  4. Client Credentials Grant

    • 클라이언트 자격 증명 승인 방식
    • 클라이언트가 자격을 증명하고 Access Token을 발급받는 방식
    • 사용자가 없고 클라이언트가 직접 관리하는 인증 서버 혹은 리소스 서버에 접근하는 경우 사용

OAuth2 프로세스


  1. Authorization Request (Client —> Resource Owner)

    • 사전에 서비스를 포털에 등록하고 Client ID 발급 및 Redirect URI 등록
    • 사용자가 서비스의 특정 기능을 이용할 때, 사용자의 로그인 인증을 포털에 요청
  2. Authorization Grant (Resource Owner —> Client)

    • 포털에서 서비스의 Client ID, Redirect URI 등 요청 정보 체크
    • 사용자 로그인이 정상 처리되면, Scope 요청을 승인한 후에 권한 Code 발급해서 리다이렉트
  3. Authorization Grant (Client —> Authorization Server)

    • 서비스에 발급된 권한 Code로 포털에 Access Token 발급 요청
  4. Access Token (Authorization Server —> Client)

    • 요청된 권한 Code가 정상이면, 포털에서 서비스에 Access Token 발급
  5. Access Token (Client —> Resource Server)

    • 발급된 Access Token으로 포털에 필요한 리소스 정보를 요청
  6. Protected Resource (Resource Server —> Client)

    • Access Token 검증 후에, 요청 리소스 리턴

OAuth2 워크플로우
OAuth2 워크플로우


Tags

#OAuth2#인증

Related Posts

NGINX 403 Forbidden 오류 해결 방법
March 22, 2023
1 min
© 2024, All Rights Reserved.

Quick Links

About Me

Media