OAuth API 요청 매개변수

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

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