acurl 및 get_token 정보

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

Apigee는 OAuth2 액세스 및 갱신 토큰을 생성하고 전달할 수 있는 다음과 같은 편리한 유틸리티를 제공합니다. 이 토큰을 사용하여 OAuth를 사용한 Edge API 호출 (SAML 및 LDAP 워크플로 포함)에서 자신을 인증합니다.

  • acurl(1): 표준 curl 명령어에 편의 래퍼를 제공합니다. Edge API에 대한 HTTP 요청을 생성하고, get_token에서 액세스 및 갱신 토큰을 가져오고, 액세스 토큰을 Edge API에 전달합니다.
  • get_token(1): Edge API를 호출하는 데 사용할 수 있는 액세스 토큰과 갱신 토큰으로 Apigee 사용자 인증 정보를 교환합니다.

두 유틸리티 모두 Apigee 계정 사용자 인증 정보 (사용자 이름 및 비밀번호 또는 비밀번호)를 OAuth2 토큰과 교환합니다.

Apigee 유틸리티에서 생성된 토큰은 OAuth 2.0 승인 프레임워크 사양을 준수합니다.

Apigee 유틸리티를 사용하여 토큰을 가져오거나 Edge API용 인증 서버에 액세스하는 것은 선택사항입니다. 자체 스키마를 구현하여 OAuth2 액세스 토큰을 생성하고 Edge API에 대한 요청에 포함할 수 있습니다.

acurl 및 get_token 설치

Apigee는 acurl(1), get_token(1), 설치 스크립트가 포함된 ZIP 파일을 제공합니다.

acurlget_token를 설치하려면 다음 안내를 따르세요.

  1. 머신에 설치 디렉터리를 만들거나 기본 usr/local/bin 디렉터리를 사용합니다.
  2. Apigee에서 설치 ZIP 파일을 다운로드합니다.
    curl https://login.apigee.com/resources/scripts/sso-cli/ssocli-bundle.zip -O
  3. 다운로드한 파일을 압축해제합니다.
  4. 설치 스크립트를 실행합니다.
    sudo ./install -b /usr/local/bin

    -b 옵션은 실행 파일의 위치를 지정합니다. 이 옵션을 지정하지 않으면 설치 스크립트가 /usr/local/bin에 유틸리티를 설치합니다.

  5. 설치를 테스트합니다.
        acurl -h
        get_token -h

    설치가 완료되면 다음 명령어가 유틸리티에 대한 도움말 텍스트를 반환합니다.

토큰 만료

acurlget_token는 기간이 다음과 같은 토큰을 생성합니다.

  • 액세스 토큰은 12시간 후에 만료됩니다.
  • 갱신 토큰은 30일 후에 만료됩니다.

따라서 acurl 또는 get_token로 API 호출을 완료하면 30일 동안 토큰 쌍을 계속 사용할 수 있습니다. 만료 후에는 사용자 인증 정보를 다시 입력하고 새 토큰을 받아야 합니다.

SSO 엔드포인트 설정

처음 호출하기 전에 acurlget_token와 함께 사용할 Edge API의 승인 서버 엔드포인트를 설정해야 합니다.

터미널에서 SSO_LOGIN_URL 환경 변수를 승인 서버 엔드포인트로 설정합니다. 예를 들면 다음과 같습니다.

  • 영역이 없는 Cloud 고객:
    export SSO_LOGIN_URL=https://login.apigee.com
  • export SSO_LOGIN_URL=https://zone_name.login.apigee.com
    영역이 있는 Cloud 고객
  • 프라이빗 클라우드 고객의 경우 관리자에게 적절한 SSO 엔드포인트에 대해 문의하세요.

일회용 비밀번호 사용 (SAML에 필요)

acurl 또는 get_token로 API 호출을 실행할 때 토큰 쌍을 받으려면 유틸리티에 본인 인증을 해야 합니다. Apigee 계정의 사용자 이름, 비밀번호, MFA 코드를 전달하면 됩니다 하지만 SAML IDP를 사용 중이거나 비밀번호를 사용하지 않으려는 경우 대신 사용할 일회용 코드 비밀번호를 받을 수 있습니다.

일회용 비밀번호를 받으려면 다음 단계를 따르세요.

  1. 브라우저에 다음 URL을 입력합니다.
    • 영역이 없는 Cloud 고객:
      https://login.apigee.com/passcode
    • https://zone_name.login.apigee.com/passcode
      영역이 있는 Cloud 고객
    • 프라이빗 클라우드 고객의 경우 관리자에게 적절한 SSO 엔드포인트에 대해 문의하세요.
  2. Apigee 계정에 로그인합니다.
  3. 6자리 비밀번호를 복사합니다.
  4. 다음 예와 같이 -p 옵션으로 acurl 또는 get_token를 사용하고 비밀번호를 전달합니다.
    get_token -p 1a2b3c

토큰 보기

acurl 또는 get_token가 성공적으로 실행되면 유틸리티는 토큰과 기타 메타데이터가 포함된 데이터 파일을 ~/.sso-cli에 만듭니다.

다음과 같은 명령어를 사용하여 토큰을 볼 수 있습니다.

get_token -v

이 명령어는 디코딩된 토큰 클레임을 표시합니다. 예를 들면 다음과 같습니다.

Decoded token claims:
 {
  "jti": "8018507e-9f34-4a90-bf97-ff226a06b19b",
  "sub": "858217a9-01a1-4111-8525-75ca555f5d5c",
  "scope": [
    "scim.emails.read",
    "scim.me",
    "openid",
    "password.write",
    "approvals.me",
    "scim.ids.read",
    "oauth.approvals"
          ],
  "client_id": "edgecli",
  "cid": "edgecli",
  "azp": "edgecli",
  "grant_type": "password",
  "user_id": "858217a9-01a1-4111-8525-75ca555f5d5c",
  "origin": "usergrid",
  "user_name": "myusername@google.com",
  "email": "myusername@google.com",
  "auth_time": 1597444772,
  "al": 0,
  "rev_sig": "6271c527",
  "iat": 1597444772,
  "exp": 1597487972,
  "iss": "https://login.apigee.com",
  "zid": "uaa",
  "aud": [
    "edgecli",
    "scim.emails",
    "scim",
    "openid",
    "password",
    "approvals",
    "scim.ids",
    "oauth"
        ]
    }
Current timestamp: 1597444983
Existing access token is still valid

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