용어

zoey·2023년 1월 15일
0

client_id

  • 인가 서버에 등록된 클라이언트에 대해 생성된 고유 키

client_secret

  • 인가 서버에 등록된 특정 클라이언트의 client_id에 대해 생성된 비밀 값

response_type

  • 애플리케이션이 권한 부여 코드 흐름을 시작하고 있음을 인증 서버에 알려준다
  • code, token, id_token이 있으며 token, id_token은 implicit 권한 부혀 유형에서 지원해야 한다
  • 서버가 쿼리 문자열에 인증코드(code), 토큰(token, id_token)등을 반환

grant_type

  • 권한 부여 타입 지정
    - authorization_code
    • password
    • client_credentials
    • refresh_token

redirect_uri

scope

state

  • 응용 프로그램은 임의의 문자열을 생성하고 요청에 포함하고 사용자가 앱을 승인한 후 서버로부터 동일한 값이 반환되는지 확인해야 한다
  • 이것은 CSRF 공격을 방지하는 데 사용된다

Authorization Code Grant

흐름 및 특징

1) 사용자가 애플리케이션을 승인하면 인가서버는 Redirect URI로 임시 코드 담아서 애플리케이션으로 다시 리다이랙션한다
2) 애플리케이션은 해당 임시 코드를 인가서버로 전달하고 액세스 토큰으로 교환한다
3) 애플리케이션이 액세스 토큰을 요청할 때 해당 요청을 클라이언트로 인증할 수 있으므로 공격자가 인증 코드를 가로채서 스스로 사용할 위험이 줄어든다
4) 액세스 토큰이 사용자 또는 브라우저에 표시되지 않고 애플리케이션에 다시 전달하는 가장 안전한 방법이므로 토큰이 다른 사람에게 누출될 위험이 줄어든다

권한 부여 코드 요청시 매개변수

  • response_type=code(필수)
  • client_id(필수)
  • redirect_uri(선택사항)
  • scope(선택사항)
  • state(선택사항)

액세스 토큰 교환 요청 시 매개변수

  • grant_type=authorization_code(필수)
  • code(필수)
  • redirect_uri(필수: 리다이랙션 URL이 초기 승인 요청에 포함된 경우)
  • client_id(필수)
  • client_secret(필수)

Client Credentials Grant Type

0개의 댓글