서드파티 AI 에이전트가 앱에 접근할 수 있도록 허용하세요
이 가이드는 Logto를 귀하의 서비스와 통합하고 AI 에이전트가 해당 서비스에 접근할 수 있도록 설정하는 과정을 안내합니다.
다음 내용을 학습할 수 있습니다:
- 귀하의 서비스에 대해 Logto를 인가 (Authorization) 서버로 구성하는 방법
- AI 에이전트가 귀하의 서비스에 접근할 수 있도록 액세스 토큰 (Access token)을 얻는 방법
- AI 에이전트로 플로우를 테스트하는 방법
서드파티 AI 에이전트와 자체 AI 에이전트(또는 앱)의 차이점
예시를 살펴보겠습니다. 여러분이 날씨 데이터를 제공하는 서비스를 운영하는 개발자라고 가정해봅시다.
공식 날씨 앱 (자체 AI 에이전트 / 앱)
- 사용자가 날씨를 확인할 수 있도록 공식 날씨 앱을 제공합니다.
- 동작 방식: 공식 날씨 앱은 Logto를 사용하여 사용자를 인증 (Authentication)하며 귀하의 서비스에 연결합니다. Alice가 로그인하면, 신뢰할 수 있는 앱이기 때문에 별도의 동의 화면 없이 자동으로 날씨 데이터에 접근할 수 있습니다.
서드파티 AI 에이전트
- 귀하의 서비스 생태계를 확장하기 위해, 다른 개발자가 "WeatherBot"(날씨 업데이트와 예보를 제공하는 AI 어시스턴트)을 만들어 서드파티 AI 에이전트로 통합합니다.
- 동작 방식: WeatherBot(서드파티 AI 에이전트)은 귀하의 서비스를 통해 사용자 날씨 데이터에 접근하고자 합니다. Alice가 자신의 계정으로 WeatherBot에 로그인하면:
- WeatherBot이 그녀의 날씨 데이터에 접근할 수 있도록 동의 화면이 표시됩니다.
- Alice는 이 접근을 허용하거나 거부할 수 있습니다.
- 그녀가 동의한 데이터만 WeatherBot과 공유되며, 명시적인 재동의 없이는 추가 데이터에 접근할 수 없습니다.
이러한 접근(권한) 제어는 사용자 데이터의 안전을 보장합니다. 귀하의 서비스가 모든 데이터를 관리하더라도, WeatherBot과 같은 서드파티 AI 에이전트는 사용자가 명시적으로 허용한 데이터에만 접근할 수 있습니다. 이 과정은 귀하의 서비스 내 접근 제어 구현에 의해 강제되므로, 우회할 수 없습니다.
요약
클라이언트 유형 | 예시 | 동의 필요? | 누가 제어? |
---|---|---|---|
공식 날씨 앱 | 자체 날씨 앱 | 아니오 | 귀하(개발자) |
서드파티 AI 에이전트 | WeatherBot 어시스턴트 | 예 | 다른 개발자 |
자체 AI 에이전트 또는 앱과 귀하의 서비스를 통합하고 싶다면, 빠른 시작 가이드를 참고하세요.
사전 준비 사항
- Logto Cloud (또는 자체 호스팅) 테넌트
- AI 에이전트가 접근할 수 있도록 API 엔드포인트를 제공하는 서비스
플로우 이해하기
- 서비스: AI 에이전트에 노출하고자 하는 서비스
- AI 에이전트: 귀하의 서비스에 접근할 AI 에이전트
- Logto: OpenID Connect 제공자(인가 (Authorization) 서버) 역할을 하며 사용자 아이덴티티를 관리
비공식 시퀀스 다이어그램은 전체 프로세스의 흐름을 보여줍니다:
서드파티 AI 에이전트 설정
서드파티 AI 에이전트가 귀하의 서비스에 접근할 수 있도록 하려면 다음 단계를 따라야 합니다:
- Logto에 AI 에이전트 등록: Logto에 AI 에이전트를 나타내는 애플리케이션을 생성하세요.
- AI 에이전트 구성: AI 에이전트가 귀하의 서비스에 요청을 보내고 401 Unauthorized 응답을 처리할 수 있도록 하세요.
- 인가 플로우 구현: AI 에이전트가 Logto에서 액세스 토큰을 얻기 위해 OAuth 2.0 인가 플로우를 처리할 수 있어야 합니다.
- 통합 테스트: AI 에이전트를 사용하여 귀하의 서비스에 접근하고, 인증 (Authentication) 및 인가 (Authorization) 요청이 성공적으로 처리되는지 확인하세요.
Logto에서 서드파티 AI 에이전트 구성하기
서드파티 AI 에이전트가 귀하의 서비스에 접근할 수 있도록 하려면, Logto에서 서드파티 앱을 설정해야 합니다. 이 앱은 AI 에이전트를 대표하며, 인증 (Authentication) 및 인가 (Authorization)에 필요한 자격 증명을 획득하는 데 사용됩니다.
개발자가 Logto에서 서드파티 앱을 생성할 수 있도록 허용하기
마켓플레이스를 구축하거나 개발자가 Logto에서 서드파티 앱을 생성할 수 있도록 하려면, Logto Management API를 활용하여 프로그래밍 방식으로 서드파티 앱을 생성할 수 있습니다. 이를 통해 개발자는 자신의 애플리케이션을 등록하고 인증 (Authentication)에 필요한 자격 증명을 얻을 수 있습니다.
클라이언트 등록 프로세스를 처리할 자체 서비스를 호스팅해야 합니다. 이 서비스는 Logto Management API와 상호작용하여 개발자를 대신해 서드파티 앱을 생성합니다.
또는, Logto Console에서 직접 서드파티 앱을 수동으로 생성하여 프로세스를 익힐 수도 있습니다.
Logto에서 서드파티 앱을 수동으로 생성하기
테스트 목적이나 임시 통합을 위해 Logto Console에서 서드파티 앱을 수동으로 생성할 수 있습니다. 전체 클라이언트 등록 플로우를 구현하지 않고도 통합을 빠르게 테스트하고 싶을 때 유용합니다.
-
Logto Console에 로그인하세요.
-
애플리케이션 → 애플리케이션 생성 → 서드파티 앱 -> OIDC로 이동하세요.
-
앱 이름 및 기타 필수 항목을 입력한 후 애플리케이션 생성을 클릭하세요.
-
권한 탭을 클릭한 후, 사용자 섹션에서 "추가"를 클릭하세요.
-
열린 대화상자에서 -> 사용자 데이터 ->
profile
,email
권한을 선택한 후 저장을 클릭하세요. -
서드파티 앱에서
openid profile email
권한(스코프)을 요청하도록 스코프를 구성하세요.참고: OIDC를 위해서는
openid
가 필수이며,profile
과email
은 이전 단계에서 추가한 권한입니다. -
서드파티 애플리케이션의 redirect URI를 적절히 구성하세요. Logto에서도 redirect URI를 반드시 업데이트해야 합니다.

내부적으로, 서드파티 앱은 표준 OAuth 2.0 / OIDC 클라이언트일 뿐입니다. 즉, 여러분(또는 서드파티 개발자)은 어떤 OAuth 2.0 / OIDC 라이브러리나 프레임워크도 사용하여 Logto와 통합할 수 있습니다.
OAuth 2.0 또는 OIDC에 익숙하지 않다면, 우리의 “전통적인 웹” 빠른 시작 가이드 중 하나를 따라 시작할 수 있습니다.
유의해야 할 몇 가지 사항:
- Logto는 현재 서드파티 앱이 “전통적인 웹” 앱이어야 합니다. 즉, 앱에는 클라이언트 시크릿을 안전하게 저장할 백엔드 서버(또는 백엔드-포-프론트엔드)가 필요합니다.
- 대부분의 빠른 시작 가이드는 퍼스트파티 앱을 대상으로 작성되어 있지만, 서드파티 앱 통합에도 참고 자료로 사용할 수 있습니다.
- 주요 차이점은 서드파티 앱은 동의 화면 (Consent screen)을 표시하여 사용자의 데이터 접근에 대한 명시적 권한을 요청한다는 점입니다.
더 많은 정보는 우리의 빠른 시작 가이드에서 확인할 수 있습니다.
서비스에서 인가 (Authorization) 설정
서비스에서 접근 제어를 활성화하려면 다음을 구현해야 합니다:
- Logto에서 API 리소스 정의: AI 에이전트가 접근할 엔드포인트를 나타내는 API 리소스를 Logto에 생성하세요.
- 접근 제어 로직 구현: 서비스에서 AI 에이전트로부터 받은 액세스 토큰을 검증하고, 사용자가 요청한 리소스에 접근할 권한이 있는지 확인하는 로직을 구현하세요.
- AI 에이전트에 응답: 액세스 토큰이 유효하고 사용자가 권한이 있다면 요청한 리소스를 반환하세요. 그렇지 않으면 401 Unauthorized 응답을 반환하세요.
서비스에서 접근 제어를 구현하는 방법에 대해 더 알고 싶다면 인가 (Authorization) 가이드를 참고하세요.
통합 테스트
- 서비스를 시작하세요.
- AI 에이전트를 시작하세요.
- AI 에이전트에서 귀하의 서비스에 접근하는 API 엔드포인트를 호출하세요.
- AI 에이전트는 401 Unauthorized 응답을 처리하고 사용자를 Logto로 인증 (Authentication)하러 리디렉션해야 합니다.
- 인증이 성공하면, AI 에이전트는 액세스 토큰을 받아 이를 사용해 귀하의 서비스에 요청을 보냅니다.
- AI 에이전트는 액세스 토큰을 사용하여 귀하의 서비스에서 리소스를 받아올 수 있어야 합니다.