OAuth API 요청 매개변수

  • 릴리스 버전: Yokohama
  • 업데이트 날짜 2025년 01월 30일
  • 읽기3분
  • 액세스 토큰 요청에서 사용하는 OAuth API 요청 매개변수에 대해 알아봅니다.

    주:
    OAuth API의 콘텐츠 유형은 application/x-www-form-urlencoded여야 합니다. application/json의 콘텐츠 형식으로 인해 지정되지 않은 오류가 발생합니다.
    표 1. 접근 토큰 요청 매개변수
    요청 매개변수 설명
    grant_type [필수] 액세스 토큰에 대한 요청을 승인하는 자격 증명의 유형입니다. 이 매개변수에는 다음 값 중 하나가 있어야 합니다.
    • password: 액세스 토큰 요청을 승인하기 위한 사용자 자격 증명 집합입니다. 사용자 이름 및 암호 매개변수에 사용자 자격 증명을 지정합니다.
    • refresh_token: 기존 새로 고침 토큰이 액세스 토큰 요청에 권한을 부여합니다. refresh_token 매개변수에서 새로 고침 토큰을 지정합니다.
    client_id [필수] 액세스 토큰을 요청하는 클라이언트 애플리케이션의 고유 ID가 자동 생성됩니다.
    client_secret [필수] 인스턴스와 OAuth 애플리케이션이 서로에 대한 통신을 승인하는 데 사용하는 공유 비밀 문자열입니다.
    username 액세스 토큰 요청을 승인하는 사용자 계정 이름입니다. 이 매개변수는 암호grant_type 있는 액세스 토큰 요청에 필요합니다.
    암호 액세스 토큰 요청을 승인하는 사용자 계정의 암호입니다. 이 매개변수는 암호grant_type 있는 액세스 토큰 요청에 필요합니다.
    refresh_token 액세스 토큰 요청을 승인하는 기존 새로 고침 토큰입니다. 이 매개변수는 grant_type refresh_token인 액세스 토큰 요청에 필요합니다.

    사용자 자격 증명을 사용한 요청

    인스턴스는 클라이언트가 처음 인증할 때 또는 새 새로 고침 토큰 생성을 인증할 때 사용자 로그인 자격 증명을 제공할 것을 요구합니다. 이 유형의 요청은 항상 다음 두 개의 토큰을 반환합니다.

    • 접근 토큰
    • 새로 고침 토큰

    인스턴스는 사용자가 활성 상태인지, 현재 잠겨 있지 않은지, 대화형 세션이 있는지 확인합니다. 이러한 조건 중 하나라도 false이면 인스턴스가 액세스 토큰을 생성하지 않습니다. 액세스 토큰의 만료 시간 내에 수행된 액세스 요청은 항상 현재 액세스 토큰을 반환합니다.

    주:
    이 유형의 권한 부여 권한은 TLS 암호화를 사용하여 전송 중에 사용자 자격 증명을 보호합니다.

    다음 예시에서는 사용자 자격 증명 세트를 사용하여 액세스 토큰을 요청하는 방법을 보여줍니다(가독성을 높이기 위해 공백이 추가됨).

    
    $ curl -d"grant_type=password&client_id=be3aeb583ace210011c15b24a43e25d8
    &client_secret=client_password
    &username=admin&password=admin" 
    https://instancename.service-now.com/oauth_token.do

    새로 고침 토큰을 사용한 요청

    인스턴스는 기존 새로 고침 토큰을 사용하여 새 접근 토큰을 만들 수 있습니다. 이 유형의 요청은 액세스 토큰만 반환합니다. 인스턴스는 새 액세스 토큰을 생성하기 전에 새로 고침 토큰이 만료되지 않았음을 확인합니다. 새로 고침 토큰 만료 시간 내에 수행된 액세스 요청은 항상 현재 새로 고침 토큰을 반환합니다. 새로 고침 토큰을 전송하는 것은 일반적으로 사용자 자격 증명을 전송하는 것보다 더 안전합니다. 다음 예제에서는 기존 새로 고침 토큰을 사용하여 액세스 토큰을 요청하는 방법을 보여 줍니다(가독성을 높이기 위해 공백이 추가됨).

    
    $ curl -d"grant_type=refresh_token&client_id=be3aeb583ace210011c15b24a43e25d8
    &client_secret=client_password
    &refresh_token=w599voG89897rGVDmdp12WA681r9E5948c1CJTPi8g4HGc4NWaz62k6k1K0FMxHW40H8yOO3Hoe" 
    https://instancename.service-now.com/oauth_token.do