타사 앱 (OAuth / OIDC)
Logto의 타사 애플리케이션 통합 기능을 통해 외부 애플리케이션에 대해 Logto를 아이덴티티 제공자 (IdP)로 활용할 수 있습니다.
아이덴티티 제공자 (IdP)는 사용자의 아이덴티티를 검증하고 로그인 자격 증명을 관리하는 서비스입니다. 사용자의 아이덴티티를 확인한 후, IdP는 인증 (Authentication) 토큰 또는 어설션을 생성하여 사용자가 다시 로그인하지 않고도 다양한 애플리케이션이나 서비스에 접근할 수 있도록 합니다.
Logto 애플리케이션에 인증 (Authentication)을 추가하세요 가이드에서 생성한, 여러분이 직접 개발하고 완전히 제어하는 애플리케이션과 달리, 타사 애플리케이션은 외부 개발자나 비즈니스 파트너가 개발한 독립적인 서비스입니다.
이 통합 방식은 일반적인 비즈니스 시나리오에 적합합니다. 사용자가 Logto 계정으로 파트너 애플리케이션에 접근할 수 있도록 할 수 있으며, 이는 엔터프라이즈 사용자가 Google Workspace로 Slack에 로그인하는 방식과 유사합니다. 또한, 타사 애플리케이션이 "Logto로 로그인" 기능을 추가할 수 있는 오픈 플랫폼을 구축할 수도 있습니다. 이는 "Google로 로그인"과 비슷합니다.
Logto는 OpenID Connect (OIDC) 프로토콜을 기반으로 구축된 아이덴티티 서비스로, 인증 (Authentication)과 인가 (Authorization) 기능을 모두 제공합니다. 이로 인해 OIDC 타사 앱 통합은 기존 웹 애플리케이션만큼 간단하게 진행할 수 있습니다.
OIDC가 OAuth 2.0 위에 인증 계층을 추가하여 구축되었으므로, OAuth 프로토콜을 사용하여 타사 앱을 통합할 수도 있습니다.
Logto에서 타사 애플리케이션 생성하기
- 콘솔 > 애플리케이션으로 이동하세요.
- "애플리케이션 생성" 버튼을 클릭하세요. 애플리케이션 유형으로 "타사 앱"을 선택하고, 다음 통합 프로토콜 중 하나를 선택하세요:
- OIDC / OAuth
- 타사 애플리케이션의 유형에 따라 애플리케이션 유형을 선택하세요:
- 전통적인 웹: 백엔드에서 클라이언트 시크릿을 안전하게 저장할 수 있는 서버 렌더링 애플리케이션 (예: Node.js, PHP, Java).
- 싱글 페이지 앱 (SPA): 브라우저에서 완전히 실행되며 시크릿을 안전하게 저장할 수 없는 클라이언트 사이드 렌더링 애플리케이션 (예: React, Vue, Angular).
- 네이티브: 사용자 기기에서 실행되는 모바일 또는 데스크톱 애플리케이션 (예: iOS, Android, Electron).
- 애플리케이션의 이름과 설명을 입력한 후 "생성" 버튼을 클릭하세요. 새로운 타사 애플리케이션이 생성됩니다.
생성된 모든 타사 애플리케이션은 "타사 앱" 탭 아래의 애플리케이션 페이지에 정리되어 표시됩니다. 이 구조는 여러분의 자체 애플리케이션과 구분하여 모든 애플리케이션을 한 곳에서 쉽게 관리할 수 있도록 도와줍니다.
통합 가이드
애플리케이션 구성 정보 찾기
애플리케이션 상세 페이지에서 통합에 필요한 클라이언트 ID, 클라이언트 시크릿 (전통적인 웹 앱에만 해당), OIDC 엔드포인트를 확인할 수 있습니다.
타사 서비스가 OIDC 디스커버리를 지원한다면, 디스커버리 엔드포인트만 제공하면 됩니다. 그렇지 않은 경우, 엔드포인트 상세 보기를 클릭하여 인가 엔드포인트 및 토큰 엔드포인트를 포함한 모든 엔드포인트를 확인하세요.
타사 IdP를 지원하는 서비스와 통합하기
외부 아이덴티티 제공자 구성을 기본적으로 지원하는 서비스나 제품(예: 엔터프라이즈 SaaS 플랫폼, 협업 도구)에 연결하는 경우, 설정은 간단합니다:
- 서비스의 IdP 또는 SSO 구성 페이지를 엽니다.
- Logto에서 클라이언트 ID (필요하다면 클라이언트 시크릿도)를 복사하여 서비스의 구성에 붙여넣습니다.
- 서비스가 OIDC 자동 디스커버리를 지원한다면 디스커버리 엔드포인트를 제공하고, 그렇지 않다면 인가 엔드포인트와 토큰 엔드포인트를 수동으로 복사합니다.
- 서비스 구성 페이지에서 리디렉션 URI를 복사하여 Logto 애플리케이션의 허용된 리디렉션 URI에 추가합니다.
- 서비스에서 허용한다면 스코프를 구성하세요. Logto는 OIDC 제공자이므로, 사용자를 인증 (Authentication)해야 한다면
openid스코프를 반드시 포함하세요 (ID 토큰 및 UserInfo 엔드포인트 접근 권한 부여). OAuth 리소스 접근만 필요하다면openid스코프는 선택 사항입니다.
설정이 완료되면 서비스가 OAuth / OIDC 플로우를 자동으로 처리합니다.
OAuth / OIDC 프로토콜로 통합하기
타사 애플리케이션이 프로그래밍 방식으로 Logto를 IdP로 통합해야 하는 경우, 표준 인가 코드 플로우를 구현해야 합니다. 구현을 위해 사용하는 프로그래밍 언어에 맞는 OAuth 2.0 / OIDC 클라이언트 라이브러리 사용을 권장합니다.
- 전통적인 웹
- 싱글 페이지 앱 / 네이티브
전통적인 웹 애플리케이션은 백엔드 서버에서 클라이언트 시크릿을 안전하게 저장할 수 있는 기밀 클라이언트입니다. 전체 구현 방법은 인가 코드 플로우를 참고하세요.
주요 단계:
- 인가 시작:
client_id,redirect_uri,response_type=code,scope와 함께 사용자를 Logto의 인가 엔드포인트로 리디렉션합니다. - 콜백 처리: 리디렉션에서 인가
code를 받습니다. - 토큰 교환: 백엔드에서 code,
client_id,client_secret을 포함하여 토큰 엔드포인트로 POST 요청을 보냅니다.
싱글 페이지 앱과 네이티브 앱은 시크릿을 안전하게 저장할 수 없는 공용 클라이언트입니다. 이러한 애플리케이션은 클라이언트 시크릿 대신 PKCE (Proof Key for Code Exchange)를 사용하여 안전하게 인가를 진행해야 합니다. 전체 구현 방법은 인가 코드 플로우 및 PKCE를 참고하세요.
주요 단계:
- PKCE 파라미터 생성:
code_verifier를 생성하고,code_challenge(SHA-256)를 도출합니다. - 인가 시작:
code_challenge및code_challenge_method=S256과 함께 인가 엔드포인트로 사용자를 리디렉션합니다. - 콜백 처리: 리디렉션에서 인가
code를 받습니다. - 토큰 교환: code와 원래의
code_verifier를 포함하여 토큰 엔드포인트로 POST 요청을 보냅니다.
OIDC 타사 애플리케이션의 동의 화면
보안상의 이유로, 모든 OIDC 타사 애플리케이션은 Logto에서 인증 (Authentication)된 후 사용자 인가 (Authorization)를 위해 동의 화면으로 리디렉션됩니다.
타사에서 요청한 모든 사용자 프로필 권한, API 리소스 스코프, 조직 권한, 그리고 조직 멤버십 정보가 동의 화면에 표시됩니다.
이러한 요청된 권한은 사용자가 "인가 (Authorize)" 버튼을 클릭한 후에만 타사 애플리케이션에 부여됩니다.

추가 작업
OIDC 타사 애플리케이션의 권한을 관리하는 방법을 알아보세요.
동의 화면의 외관을 브랜드 아이덴티티에 맞게 맞춤화하여 일관된 사용자 경험을 제공하세요.
자주 묻는 질문
동의 화면에서 사용자가 실제로 가진 권한만 부여할 수 있도록 어떻게 보장하나요?
관련 리소스
사용 사례: Apache Answer를 통합하여 사용자 커뮤니티를 시작하세요
Logto를 타사 아이덴티티 제공자 (IdP)로 사용하기