OAuth 사용자 시나리오

` OAuth `와 ` IBM® API Connect `를 사용하는 잠재적 사용자는 API 보안을 강화할 수 있는 여러 가지 방법을 활용할 수 있습니다. 다음 시나리오는 사용 가능한 옵션의 개요를 제공합니다.

시나리오 개요

이 시나리오에서 Alice는 애플리케이션 사용자입니다. Alice는 OAuth를 사용하는 써드파티 시스템에 있는 자신에 대한 특정 정보에 액세스할 수 있는 권한을 애플리케이션에 부여할 수 있습니다. 대상 서비스에서 지원하는 OAuth 유형에 따라 Alice는 사용자 이름 및 비밀번호를 애플리케이션에 입력하지 않습니다. 대신, 애플리케이션이 신임 정보(사용자 이름 및 비밀번호)를 나타내는 액세스 토큰을 수신합니다. 그러면 애플리케이션은 대상 시스템에 있는 Alice에 대한 정보에 액세스할 수 있습니다.

예를 들어, Alice는 mybooks.com에서 제공하는 서비스를 통해 읽는 도서의 목록을 유지보수합니다. 스마트폰 구매 후 Alice는 새 전화에 애플리케이션을 설치하여 도서 세부사항을 표시합니다. 전화 애플리케이션은 mybooks.com에서 제공하는, 정보에 액세스할 수 있는 API를 호출하려고 합니다. mybooks.com API는 OAuth 프로토콜을 사용하여 보안됩니다.

도서 세부사항에 액세스하기 위해 애플리케이션은 2단계 프로세스를 수행해야 합니다.
  1. 애플리케이션은 먼저 Alice로부터 권한을 얻어야 합니다.
  2. 그런 다음, 애플리케이션은 해당 권한을 사용하여 대상 서비스를 호출하고 도서 목록을 가져옵니다.

첫 번째 단계에서 애플리케이션은 일반적으로 Alice를 대상 서비스 제공자 mybooks.com으로 디렉션합니다. Alice는 사용자 이름 및 비밀번호를 제공하고 애플리케이션이 자신의 정보에 액세스할 수 있도록 권한을 부여합니다. Alice가 신뢰할 수 없는 프록시 애플리케이션이 아니라, 대상 서비스 제공자에게 신임 정보를 제공함을 신뢰하는 것이 중요합니다. 예를 들어, Alice가 신임 정보를 입력하는 웹 사이트의 보안 인증이 대상 서비스 제공자에게서 예상할 수 있는 것과 동일한지 확인할 수 있습니다.

이 단계의 결과로 얻게 되는 액세스 토큰을 사용하여 애플리케이션이 API 호출을 수행할 수 있습니다. 그런 다음 애플리케이션은 적절하게 형식화된 OAuth 요청을 생성합니다. 예를 들어, OAuth에서 요구하는 액세스 토큰, 컨슈머 키 및 서명 메소드가 포함된 HTTP 조회 매개변수 또는 권한 헤더를 생성할 수 있습니다. 이 OAuth 요청은 API 프록시 오퍼레이션을 호출하는 데 사용됩니다.

API Connect 내의 시나리오

이 시나리오를 지원하기 위해 API 오퍼레이션 정의를 변경할 필요는 없습니다.
  1. Alice는 API 호출 전에 정보에 액세스할 수 있는 권한을 애플리케이션에 대해 부여합니다.
  2. 애플리케이션이 오퍼레이션 엔드포인트 호출에 대한 OAuth 세부사항이 포함된 권한 헤더 또는 조회 매개변수를 제공하면 추가 구성 없이 자동으로 헤더가 대상 서비스에 전달됩니다.