고급 OAuth 2.0 주제

이 페이지는 ApigeeApigee Hybrid에 적용됩니다.

Apigee Edge 문서 보기

타사 OAuth 토큰 사용

타사 OAuth 토큰 사용을 참조하세요.

여러 리디렉션 URI 지정

승인 코드 부여 유형을 사용하는 경우 개발자 앱 등록 시 리디렉션 URI를 지정해야 합니다. 리디렉션 URI는 클라이언트 앱을 대신하여 승인 코드를 수신하도록 지정된 앱의 URI를 지정합니다. 클라이언트는 승인 코드 및 토큰을 요청할 때 이 URI를 Apigee에 보내며, redirect_uri 매개변수는 등록된 매개변수와 일치해야 합니다. OAuth 2.0 토큰 가져오기도 참조하세요.

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

https://mydomain.com/authorize?\
client_id=123456&\
response_type=code&\
redirect_uri=https%3A%2F%2Fmydomain.com%2Fcallback&scope=scope1%20scope2&state=abc

단일 프록시 애플리케이션에 여러 리디렉션 URI를 지정하는 사용 사례가 있습니다. 예를 들어 여러 도메인에 대해 인증할 수 있습니다. 예를 들면 다음과 같습니다.

  • https://mydomain.com/callback
  • https://mydomain.uk/callback
  • https://mydomain.ja/callback

개발자 앱에서 여러 리디렉션 URI를 지정하려면 개발자 앱 UI의 콜백 URL 필드에 쉼표로 구분된 목록으로 추가합니다. 예를 들면 다음과 같습니다.

https://mydomain.com/callback,https://mydomain.uk/callback,https://mydomain.ja/callback

/authorize 요청은 redirect_uri 매개변수에서 URI를 하나만 포함해야 합니다. 개발자 앱 UI에서 리디렉션 URI가 콜백 URL 필드에 지정된 URI 중 하나와 일치하면 요청이 성공합니다.

GenerateAuthCode 작업의 기본 반환 동작 변경

기본적으로 OAuthv2 정책의 GenerateAuthCode 작업은 승인 코드가 포함된 ?code 쿼리 매개변수가 있는 리디렉션 URL로 302 리디렉션을 반환합니다.

경우에 따라 이 동작을 변경해야 할 수 있습니다. 예를 들어 코드가 포함된 구조화된 JSON을 사용하여 200 응답을 반환해야 할 수 있습니다.

이 사용 사례를 활용하려면 ExtractVariable 정책을 사용하여 코드를 검색하고 AssignMessage 정책을 사용하여 200 상태와 함께 JSON 페이로드로 코드를 반환합니다.

앱 최종 사용자 동의 감사

앱 최종 사용자가 앱을 승인했는지 확인해야 할 수 있습니다. Apigee Audit API를 사용하여 이를 수행할 수 있습니다.

아웃바운드 OAuth 샘플

GitHub의 Apigee api-platform-samples 저장소에 있는 outbound-oauth 샘플을 참조하세요. 샘플을 클론, 배포, 실행할 수 있습니다. 이 샘플은 Microsoft Azure Translator API를 사용하여 트윗을 변환합니다. 이를 위해 아웃바운드 호출을 수행하여 OAuth 액세스 토큰을 가져온 다음, API 서비스 캐싱 정책에 따라 토큰을 캐시합니다. 그러면 아웃바운드 호출이 수행될 때마다 캐시된 토큰이 재사용됩니다. 또한 API 프록시를 호출하는 데 사용되는 데모 브라우저 앱도 포함됩니다.