5장. ActiveDocs 및 OAuth
ActiveDocs를 사용하면 사용자가 한 곳에서 OAuth 사용 API를 테스트하고 호출할 수 있습니다.
사전 요구 사항
- Red Hat Single Sign-On 또는 Red Hat build of Keycloak 인스턴스 설정 및 OpenID Connect 통합이 구성되어 있어야 합니다. 설정 방법에 대한 자세한 내용은 OpenID Connect 통합 설명서를 참조하십시오.
- 또한 ActiveDocs를 설정하는 방법에 대해 잘 알고 있어야 합니다. 3scale에 ActiveDocs 추가 및 OpenAPI 사양 생성 을 참조하십시오.
5.1. 3scale API Management 사양의 클라이언트 인증 정보 및 리소스 소유자 흐름의 예 링크 복사링크가 클립보드에 복사되었습니다!
이 첫 번째 예는 3scale 사양의 OAuth 2.0 클라이언트 인증 정보 흐름을 사용하는 API용입니다. 이 API는 모든 경로를 수락하고 요청에 대한 정보를 반환합니다(path, 요청 매개변수, 헤더 등). Echo API는 유효한 액세스 토큰을 사용하여만 액세스할 수 있습니다. API 사용자는 액세스 토큰에 대해 인증 정보(client_id 및 client_secret)를 교환한 후에만 이를 호출할 수 있습니다.
사용자가 ActiveDocs에서 API를 호출할 수 있으려면 액세스 토큰을 요청해야 합니다. OAuth 권한 부여 서버에 대한 호출이므로 OAuth 토큰 끝점에 대한 ActiveDocs 사양을 생성할 수 있습니다. 이를 통해 ActiveDocs 내에서 이 엔드포인트에 대한 호출을 허용합니다. 이 경우 클라이언트 인증 정보 흐름의 경우 Swagger JSON 사양은 다음과 같습니다.
리소스 소유자 OAuth 흐름의 경우 액세스 토큰을 발행하기 위해 사용자 이름 및 암호 및 기타 매개변수에 대한 매개변수를 추가합니다. 이 클라이언트 인증 정보 흐름 예제의 경우 signed-in 사용자와 grant_type의 3scale 값에서 채울 수 있는 client_id 및 client_secret 을 보내고 있습니다.
그런 다음 Echo API의 ActiveDocs 사양에서 client_id 및 client_secret 대신 access_token 매개변수를 추가합니다.
그런 다음 항상 개발자 포털에 ActiveDocs를 포함할 수 있습니다. 이 경우 OAuth 끝점을 먼저 갖도록 표시하는 순서를 지정하려고 하므로 다음과 같습니다.