get_token 사용

현재 Apigee Edge 문서가 표시되고 있습니다.
Apigee X 문서로 이동
정보

get_token(1) 유틸리티를 사용하면 Apigee 사용자 인증 정보를 Edge API에 액세스하는 데 사용할 수 있는 액세스 및 갱신 토큰으로 교환할 수 있습니다. 토큰은 OAuth2 워크플로의 SAML 및 LDAP 구현에도 사용할 수 있습니다.

get_token를 사용하면 다음 작업을 할 수 있습니다.

  • 액세스 또는 갱신 토큰을 가져옵니다.
  • 변수 및 명령어에 사용할 토큰을 stdout에 인쇄합니다.
  • 디스크에 토큰을 저장합니다.

그런 다음 Edge API에 대한 요청에 유효한 토큰을 추가하고 만료될 때 새 토큰을 얻을 수 있습니다.

사전 요구사항: get_token를 사용하려면 먼저 설치해야 합니다.

get_token 구문

get_token 유틸리티는 다음 문법을 사용합니다.

get_token -u USERNAME:PASSWORD [-m MFACODE]

또는

get_token -p passcode

각 항목의 의미는 다음과 같습니다.

요소 필수 여부 설명
USERNAME 선택사항. 사용자 이름과 비밀번호 조합 또는 비밀번호가 필요합니다. Apigee 사용자 이름(일반적으로 Apigee 계정과 연결된 이메일 주소)입니다. get_token를 처음 호출할 때 사용자 이름 또는 비밀번호를 전달해야 합니다. 액세스 및 갱신 토큰이 만료될 때까지 이메일 주소를 다시 전달할 필요가 없습니다. 사용자 두 명 이상의 토큰을 캐시하는 경우 각 호출마다 사용자 이름을 지정해야 합니다.
PASSWORD 선택사항. 사용자 이름과 비밀번호 조합 또는 비밀번호가 필요합니다. Apigee 계정의 비밀번호입니다. 비밀번호를 생략하면 처음 get_token를 사용할 때 그리고 유효한 갱신 토큰이 없는 후속 호출에서 비밀번호를 입력하라는 메시지가 표시됩니다. 명령어에서 직접 비밀번호를 사용하지 않으려면 비밀번호 대신 일회용 코드 비밀번호를 사용하면 됩니다.
MFACODE Optional 임시 6자리 다단계 인증 (MFA) 코드. -u를 사용하고 MFA를 사용 설정한 경우 이 코드가 필요합니다. 생략하면 메시지가 표시됩니다 (비밀번호 모드가 아닌 경우). MFA를 사용 설정하지 않았거나 스크립트화된 흐름이 있는 경우 메시지가 표시되지 않도록 -m ""를 지정할 수 있습니다.
PASSCODE 선택사항. 사용자 이름과 비밀번호 조합 또는 비밀번호가 필요합니다. 비밀번호 대신 사용할 수 있는 일회용 비밀번호 비밀번호는 SAML IDP로 인증할 때 필요하며 LDAP IDP로 인증하는 데 사용할 수 있습니다.

예를 들면 다음과 같습니다.

get_token
get_token -u ahamilton@apigee.com:mypassw0rd -m 424242
get_token -p mypass

호출이 성공하면 유효한 액세스 토큰이 stdout에 출력되고 액세스 토큰과 갱신 토큰이 모두 ~/.sso-cli에 저장됩니다. 토큰 만료에 설명된 대로 이러한 토큰은 만료될 때까지 사용할 수 있습니다.

get_token를 처음 호출한 후에는 토큰이 만료될 때까지 사용자 인증 정보를 포함하지 않아도 됩니다.

get_token 처음 호출

첫 번째 호출에서 옵션을 지정하지 않으면 get_token에서 다음을 묻는 메시지를 표시합니다.

  • 비밀번호(SAML ID 공급업체(IDP)로 인증하는 경우)
  • 사용자 이름, 비밀번호 및 임시 MFA 코드 등입니다.

다음 예에서는 get_token를 처음 호출하고 인증에 MFA 코드와 함께 사용자 이름/비밀번호 조합을 사용합니다.

get_token
Enter username:
ahamilton@apigee.com
Enter the password for user 'ahamilton@apigee.com':
[hidden input]
Enter the six-digit code if 'ahamilton@apigee.com' is MFA-enabled or press ENTER:
123456

ey42bGciOiJSUzI1NiJ9.eyJqdGkiOiJhM2YwNjA5ZC1lZTIxLTQ1YjAtOGQyMi04MTQ0MTYxNjNhNTMiLCJzdWIiOiIyZDFl
  <snip>
VlLmNvbSIsInppZCI6InVhYSIsImF1ZCI6WyJlZGdlY2xpIiwic2NpbSIsIm9wZW5pZCIsInBhc3N3b3JkIiwiYXBwcm54242

요청에 액세스 토큰 추가

get_token를 성공적으로 호출한 후에는 다양한 방법으로 Edge API 호출의 Authorization 헤더에 액세스 토큰을 전달하여 사용할 수 있습니다. 방법은 다음과 같습니다.

  • get_token 응답의 콘텐츠를 복사하여 헤더에 직접 삽입합니다.
    curl https://api.enterprise.apigee.com/v1/organizations/danger4242-eval \
      -H "Authorization: Bearer B42CnTIYPxr...88NI5Q"
  • 명령어를 결합하여 토큰을 가져오고 헤더에 추가합니다.
    token=$(get_token); curl -H "Authorization: Bearer $token" \
      https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval

    get_token가 실행되도록 명령어 대체 구문 $(...)을 사용합니다.

  • curl 호출 내에서 get_token를 호출합니다.
    curl -H "Authorization: Bearer $(get_token)" \
      https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval

    get_token가 실행되도록 명령어 대체 구문 $(...)을 사용합니다.

이 샘플 요청은 'ahamilton-eval' 조직에 대한 세부정보를 가져옵니다. Edge API 엔드포인트의 전체 목록은 Apigee Edge API 참조를 확인하세요.

SAML 및 LDAP과 함께 get_token 사용

get_token 유틸리티는 SAML, LDAP 또는 기타 기본 IDP와 함께 사용할 수 있습니다. get_token에서는 여러 SSO 로그인 URL과 계정을 사용할 수 있습니다. 계정이 여러 개인 단일 사용자에게 각 get_token 호출의 사용자 이름을 지정하라는 메시지가 표시됩니다.

get_token 캐시 지우기

다음과 같은 선택적 플래그를 사용하여 get_token 캐시를 지울 수 있습니다.

  • --clear-sso-cache

    $HOME/.sso-cli에서 SSO_LOGIN_URL의 캐시 디렉터리를 지우며 서버의 캐시된 액세스 및 갱신 토큰을 삭제합니다.

  • --clear-all-sso-cache

    $HOME/.sso-cli 아래의 모든 디렉터리를 지우고 캐시된 토큰을 모두 삭제합니다.


(1) Copyright 2023 Google LLC
get_token 도구는 Google Cloud Platform 사용에 적용되는 계약에 따라 '소프트웨어'로 제공되며 https://cloud.google.com/terms/service-terms에서 확인할 수 있는 서비스별 약관이 포함됩니다.