Logto 사용 사례: Apache Answer를 원활하게 통합하여 사용자 커뮤니티 구축하기
Logto의 서드파티 앱 기능을 활용하여 Apache Answer를 통합하고, 사용자가 기존 계정을 사용하여 지원에 원활히 접근할 수 있는 통합 커뮤니티 플랫폼을 만드는 방법을 시연합니다.
Logto의 서드파티 앱 기능을 활용하여 Apache Answer를 통합하고, 사용자가 기존 계정을 사용하여 지원에 원활히 접근할 수 있는 통합 커뮤니티 플랫폼을 만드는 방법을 시연합니다.
훌륭한 소프트웨어 제품을 구축하는 것은 중요한 성과지만, 실제로는 여정의 시작일 뿐입니다.
어떤 애플리케이션의 장기적인 성공과 발전은 사용자와의 이해와 참여에 크게 의존하며, 이는 피드백 수집, 문제점 식별, 질문 답변, 문제 해결을 포함하는 핵심 사이클인 반복과 개선을 이끕니다.
이 기사에서는:
Logto를 사용할 때의 하이라이트는 사용자가 커뮤니티에 로그인할 때 자사 시스템과 동일한 계정을 사용한다는 것입니다. 이를 통해 소프트웨어 내 사용자 상태를 쉽게 파악할 수 있으며, 여러 번의 문의가 필요 없게 됩니다.

Apache Answer는 사용자와 팀을 연결하는 오픈 소스 Q&A 플랫폼입니다. 이 플랫폼은 지식 공유와 문제 해결을 위한 공간을 제공합니다. 실시간 Markdown 미리 보기, 고급 검색, 투표 시스템을 특징으로 합니다.
플랫폼은 OAuth 2.0 로그인을 기본적으로 지원합니다. 이는 Logto와 같은 기존 아이덴티티 제공자와의 자연스러운 호환성을 가집니다. 사용자는 커뮤니티 플랫폼을 위해 새로운 자격 증명을 생성하지 않고 기존 계정으로 로그인할 수 있습니다.
사용자가 Logto 계정을 사용하여 서드파티 애플리케이션에 로그인하고자 할 때, Logto는 애플리케이션의 아이덴티티 제공자 (IdP) 역할을 합니다.
이를 사용자의 신원을 검증하는 중앙 권한으로 생각할 수 있습니다. 사용자가 메인 애플리케이션에 로그인하면, 로그토로 리디렉션되어 인증 과정(사용자명/비밀번호, 소셜 로그인 등)을 처리합니다. Logto가 사용자를 성공적으로 검증하면, 애플리케이션에 "네, 이 사용자는 합법적입니다."라고 알려주고, 그들의 기본적인 정보를 제공합니다.
이 개념은 메인 애플리케이션에만 한정되지 않습니다. Logto에는 강력한 기능인 서드파티 애플리케이션이 포함되어 있으며, 이는 Logto가 자체 애플리케이션은 물론 사용자가 접근하고자 하는 기타 외부 애플리케이션에 대해 IdP 역할을 수행할 수 있게 합니다.
이것은 **OpenID Connect (OIDC)**를 사용하여 이루어집니다. OIDC는 OAuth 2.0 프로토콜 위에 구축된 표준 아이덴티티 레이어입니다. 간단히 말해, OIDC는 애플리케이션(예: Relying Party나 Apache Answer로 알려진 클라이언트)이 아이덴티티 제공자(IdP; Logto)로부터 사용자 정보 요청 및 수신할 수 있게 합니다.
Apache Answer에 OIDC 애플리케이션을 Logto 내에서 구성할 때, 기본적으로 Logto에 "Apache Answer를 대신하여 사용자 검증 준비 상태로 있어주세요. 요청 시, 그리고 사용자가 허가한다면, Answer에 안전하게 기본 사용자 정보를 보내주세요."라고 이야기하는 것과 같습니다. 이 기능은 Logto 인증 애플리케이션과 Apache Answer와 같은 서드파티 도구 사이의 원활한 싱글 사인온(SSO)을 여는 키 역할을 합니다.
설정에 들어가기 전에, 우리의 시나리오에서 관련된 구성요소를 명확히 해 보겠습니다:
이제 실습해 보겠습니다. 이 과정은 Logto와 Apache Answer 모두 구성하는 것을 포함합니다.
공식 설치 가이드를 따라 Apache Answer를 설치하세요. 기본적으로 http://localhost:9080에서 접근할 수 있습니다.
http://localhost:9080/answer/api/v1/connector/redirect/basic을 리디렉션 URI 필드에 추가합니다.profile 및 email)를 선택합니다.
http://localhost:9080/admin의 관리자 대시보드를 방문합니다.sub.name.username.email.picture.email_verified.openid,profile,email.참고: 사용자 정보를 사용자 JSON URL에서 가져오기 위해 요구되는 OIDC 표준인 openid 스코프를 반드시 포함하십시오. Logto의 서드파티 애플리케이션은 OIDC를 기반으로 구현되었고, Apache Answer의 플러그인은 OAuth 2.0을 사용하므로, 두 시스템 간의 적절한 인증 흐름을 보장하기 위해 이 스코프가 필수적입니다.
Logto와 Apache Answer가 구성되면, 원활한 사용자 경험을 살펴봅시다:

버튼을 클릭하면, Logto의 로그인 페이지로 리디렉션됩니다.
"Logto로 연결" 버튼을 클릭한 후 기존 계정으로 로그인할 수 있는 Logto로 리디렉션됩니다. 이후, Apache Answer와 정보를 공유할 권한을 요청하는 승인 페이지가 표시됩니다.


참고: Apache Answer는 로그인한 사용자가 이메일을 확인했는지 여부를 확인합니다. 사용자가 이메일 정보를 제공하지 않은 경우, Apache Answer는 이메일 정보를 제공하라고 요청할 것입니다.
왜 이러한 단계를 거쳐야 할까요? 장점은 다음과 같습니다:
서드파티 도구 통합은 풍부한 애플리케이션 생태계를 구축하기 위해 필수적이지만, 이러한 도구 간의 사용자 아이덴티티 관리가 큰 골칫거리가 될 수 있습니다. Apache Answer를 예로 들어, Logto의 서드파티 애플리케이션 (OIDC) 기능이 이 간극을 메우는 강력하고 표준화된 방법을 제공함을 보여드렸습니다.
Logto를 Apache Answer의 중앙 아이덴티티 제공자로 구성함으로써, 기존 사용자에게 매끄러운 로그인 경험을 제공하고 팀에게 통합된 사용자 아이덴티티의 이점을 제공합니다.
더욱 흥미로운 점은 이 패턴이 Q&A 플랫폼에만 한정되지 않는다는 것입니다. 이는 분석 대시보드, 프로젝트 관리 도구, 내부 유틸리티 등 무수한 다른 애플리케이션에도 적용할 수 있어, 일관되고 사용자 친화적인 소프트웨어 생태계를 구축할 수 있습니다.
Logto를 사용하여 다른 유용한 도구를 통합하는 방법에 대한 향후 기사도 기대해 주세요!