최종 사용자 ID, 앱 ID 또는 둘 다로 OAuth 2.0 액세스 토큰의 검색 및 취소 사용 설정

<ph type="x-smartling-placeholder"></ph> 현재 Apigee Edge 문서를 보고 있습니다.
Apigee X 문서.
정보

이 섹션에서는 다음을 통해 OAuth 2.0 액세스 토큰의 검색 및 취소를 사용 설정하는 방법을 설명합니다. 또는 둘 다일 수 있습니다. 최종 사용자 ID 기능을 사용하려면 이 주제에 대해 살펴보겠습니다. 최종 사용자는 API를 호출하는 앱의 사용자를 의미합니다.

최종 사용자 ID 액세스를 사용 설정해야 하는 경우

사용자 ID를 액세스 토큰에 저장하는 것이 유용한 경우도 있습니다. 최종 사용자 ID 액세스 사용 설정 해당 기능에 대한 좋은 사용 사례가 있는 경우에만 사용할 수 있습니다 예를 들면 다음과 같습니다.

  • 웹사이트 또는 앱에서 사용자는 승인된 타사 앱을 확인할 수 있고 이러한 앱에 대한 액세스 권한을 취소할 수 있는 옵션을 제공합니다.
  • 승인된 사용자가 특정 개발자 앱과 연결된 모든 액세스 토큰을 취소할 수 있습니다.

OAuth 액세스 토큰 정보

앱 ID가 OAuth 액세스 토큰에 자동으로 추가됩니다. 따라서 토큰을 사용 설정한 후에는 액세스 토큰을 취소하는 경우 앱 ID별로 액세스 토큰을 취소할 수 있습니다.

최종 사용자 ID로 OAuth 2.0 액세스 토큰을 검색하고 취소하려면 최종 사용자 ID가 있어야 합니다. 입력됩니다. 아래 절차는 최종 사용자 ID를 기존 토큰입니다.

기본적으로 Edge에서 OAuth 2.0 액세스 토큰을 생성하면 토큰의 형식은 아래:

{
 "issued_at" : "1421847736581",
 "application_name" : "a68d01f8-b15c-4be3-b800-ceae8c456f5a",
 "scope" : "READ",
 "status" : "approved",
 "api_product_list" : "[PremiumWeatherAPI]",
 "expires_in" : "3599", //--in seconds
 "developer.email" : "tesla@weathersample.com",
 "organization_id" : "0",
 "token_type" : "BearerToken",
 "client_id" : "k3nJyFJIA3p62DWOkLO6OJNi87GYXFmP",
 "access_token" : "7S22UqXGJDTuUADGzJzjXzXSaGJL",
 "organization_name" : "myorg",
 "refresh_token_expires_in" : "0", //--in seconds
 "refresh_count" : "0"
}

다음에 유의하세요.

  • application_name 필드에는 토큰과 연결된 앱의 UUID가 포함되어 있습니다. 가져오기 및 취소를 사용 설정하는 경우 OAuth 2.0 액세스 토큰을 사용할 경우 이것이 사용하는 앱 ID입니다.
  • access_token 필드에는 OAuth 2.0 액세스 토큰 값이 포함되어 있습니다.

기본 OAuth 액세스 토큰에는 최종 사용자 ID 필드가 없습니다. 가져오기 및 분석을 사용 설정하려면 최종 사용자 ID로 OAuth 2.0 액세스 토큰을 취소하는 경우 OAuth 2.0 정책을 구성해야 합니다. 아래 절차에 설명된 대로 사용자 ID를 토큰에 포함합니다. 참고: 앱 ID별로 OAuth 2.0 액세스 토큰을 가져오고 취소하려는 경우 액세스할 수 있습니다

토큰 생성 엔드포인트에 최종 사용자 ID를 전달합니다. 최종 사용자의 ID를 쿼리 매개변수, 양식 매개변수 또는 이 주제의 후반부에 설명되어 있습니다. 최종 사용자를 포함하도록 Edge를 구성한 후 ID가 포함되어 있으면 아래와 같이 app_enduser 필드로 포함됩니다.

{
 "issued_at" : "1421847736581",
 "application_name" : "a68d01f8-b15c-4be3-b800-ceae8c456f5a",
 "scope" : "READ",
 "app_enduser" : "6ZG094fgnjNf02EK",
 "status" : "approved",
 "api_product_list" : "[PremiumWeatherAPI]",
 "expires_in" : "3599", //--in seconds
 "developer.email" : "tesla@weathersample.com",
 "organization_id" : "0",
 "token_type" : "BearerToken",
 "client_id" : "k3nJyFJIA3p62DWOkLO6OJNi87GYXFmP",
 "access_token" : "7S22UqXGJDTuUADGzJzjXzXSaGJL",
 "organization_name" : "myorg",
 "refresh_token_expires_in" : "0", //--in seconds
 "refresh_count" : "0"
}

검색 및 취소를 수행하는 API 호출 방법에 대한 자세한 내용은 다음을 참조하세요. 다음 스마트 문서:

사용자 ID 및 앱 ID별 OAuth 2.0 토큰에 대한 액세스 사용 설정

사용자 ID 및 앱 ID별로 OAuth 2.0 토큰에 대한 액세스를 사용 설정하는 방법은 배포 방법에 따라 다릅니다. 에지:

  • 클라우드 기반 배포

    Edge의 클라우드 기반 배포는 Apigee에서 대부분의 구성을 처리한다는 것을 의미합니다. 나 액세스에 사용자 ID를 추가하도록 OAuth 2.0 정책을 구성하는 작업만 담당합니다. 토큰입니다. 자세한 내용은 아래 절차를 참조하세요.

  • Private Cloud 배포용 Edge

    프라이빗 클라우드용 Apigee Edge (온프레미스)에서는 다음에 대한 전적인 책임이 있습니다. 구성할 수 있습니다 자세한 내용은 작업 및 구성을 참조하세요.

  • Apigee Hybrid

    기본적으로 사용자 ID별로 OAuth 2.0 토큰에 액세스할 수 있습니다. 나 액세스에 사용자 ID를 추가하도록 OAuth 2.0 정책을 구성하는 작업만 담당합니다. 토큰입니다. 자세한 내용은 아래 절차의 5단계를 참조하세요.

클라우드에서 액세스 사용 설정

1단계: 다음을 수행할 수 있도록 조직 사용 설정 이 기능 지원

이 기능을 지원하려는 각 조직에 대해 이 기능을 사용 설정해야 합니다.

Apigee Edge 지원팀에 문의하여 조직을 업데이트해 달라고 요청하세요.

2단계: opsadmin 및 orgadmin 역할에 oauth2 리소스 권한 제공

orgadminopsadmin 역할에만 최종 사용자 ID 또는 앱 ID를 기준으로 oauth2 리소스에 대한 이러한 검색(get) 및 취소(put) 호출을 수행할 수 있는 권한을 부여해야 합니다.

리소스에 대한 권한 가져오기 API 호출을 사용하여 oauth2 리소스에 대한 getput 권한이 있는 역할을 확인할 수 있습니다.

권한을 추가하거나 삭제해야 하는 경우 Apigee Edge 지원팀에 문의하세요. 업데이트를 수행하도록 할 수 있습니다.

단계 3: 기존 OAuth 2.0 액세스 토큰을 Cassandra 노드에 복사

Apigee 지원팀에서 수행: 이 작업에서는 OAuth 2.0의 기존 OAuth 2.0 사본을 영향을 받는 조직의 액세스 토큰이 복사되어 Cassandra 노드에 저장됩니다. 이 절차 각 Apigee Edge 포드의 Cassandra 노드에서 수행됩니다. 이렇게 하면 모든 OAuth 2.0 액세스 토큰(기존 및 기존 확인할 수 있습니다

4단계: 관리 서버 및 메시지 프로세서에 oauth_max_search_limit 속성 추가

이 작업에서는 관리 서버의 keymanagement.properties 파일 및 메시지 프로세서가 oauth_max_search_limit = 100 속성을 포함하도록 업데이트됩니다. 100는 Apigee의 권장 값이지만 적절하게 설정할 수 있습니다.

이 기능을 추가하려면 Apigee Edge 지원팀에 문의하세요.

5단계: OAuth 2.0 정책을 구성하여 최종 사용자 ID가 포함된 액세스 토큰을 생성

액세스 토큰을 생성하는 데 사용되는 OAuth 2.0 정책을 구성하여 토큰입니다. 액세스 토큰에 최종 사용자 ID를 포함하여 검색을 수행할 수 있습니다. 최종 사용자 ID별로 취소할 수 있습니다

액세스 토큰에 최종 사용자 ID가 포함되도록 정책을 구성하려면 최종 사용자 ID가 포함된 입력 변수를 지정해야 합니다. &lt;AppEndUser&gt; 태그를 사용하여 변수의 값을 지정합니다.

아래의 OAuth 2.0 정책(GenerateAccessTokenClient)은 OAuth 2.0 2.0 액세스 토큰입니다. 굵게 표시된 &lt;AppEndUser&gt; 태그 추가에 유의하세요.

<OAuthV2 async="false" continueOnError="false" enabled="true" name="GenerateAccessTokenClient">
  <DisplayName>OAuth 2.0.0 1</DisplayName>
  <ExternalAuthorization>false</ExternalAuthorization>
  <Operation>GenerateAccessToken</Operation>
  <SupportedGrantTypes>
    <GrantType>client_credentials</GrantType>
  </SupportedGrantTypes>
  <GenerateResponse enabled="true"/>
  <GrantType>request.queryparam.grant_type</GrantType>
  <AppEndUser>request.header.appuserID</AppEndUser>
  <ExpiresIn>960000</ExpiresIn>
</OAuthV2>

그런 다음, 다음 cURL 명령어를 사용하여 OAuth 2.0 액세스 토큰을 생성하고 사용자 ID를 appuserID 헤더로 전달할 수 있습니다.

curl -H "appuserID:6ZG094fgnjNf02EK" /
  https://myorg-test.apigee.net/oauth/client_credential/accesstoken?grant_type=client_credentials /
  -X POST /
  -d 'client_id=k3nJyFJIA3p62TKIkLO6OJNi87GYXFmP&client_secret=gk58jK5lIp943AY4'

이 예에서 appuserID 요청 헤더로 전달됩니다 다양한 방법으로 요청의 일부로 정보를 전달할 수 있습니다. 예를 들어 다음을 수행할 수 있습니다.

  • 양식 매개변수 변수 request.formparam.appuserID를 사용합니다.
  • 최종 사용자 ID를 제공하는 흐름 변수를 사용합니다.