• auth
  • integration
  • oauth
  • oidc
  • identity

OAuth 및 OIDC 인증을 Logto로 간소화하기

우리 커뮤니티는 Outline이나 ChatGPT 플러그인과 같은 특정 제품의 Identity Provider로 Logto를 사용하는 것에 관심을 보였습니다. 이론적으로 Logto는 당신이 통합하고자 하는 제품이 이러한 프로토콜을 지원하는 한 OAuth 또는 OIDC (OpenID Connect) 공급자로 사용할 수 있습니다.

Gao
Gao
Founder

Logto는 사용하기 쉬운 ID 솔루션으로 필요한 모든 기능을 제공합니다. 사용자 이름, 이메일, 전화번호, Google 및 GitHub과 같은 인기 있는 사회적 로그인 방법을 지원합니다. 개인이든 모든 규모의 기업이든 Logto는 프로젝트의 특정 요구사항에 맞춘 완벽한 고객 ID 및 액세스 관리 (CIAM) 솔루션을 제공합니다.

소개

우리 커뮤니티는 Outline이나 ChatGPT 플러그인과 같은 특정 제품의 Identity Provider로 Logto를 사용하는 것에 관심을 보였습니다. 이론적으로 Logto는 당신이 통합하고자 하는 제품이 이러한 프로토콜을 지원하는 한 OAuth 2.0 (OAuth) 또는 OpenID Connect (OIDC) 공급자로 사용할 수 있습니다.

이 글에서는 Logto를 Identity Provider로 사용하여 OAuth 또는 OIDC 통합에 대한 일반적인 튜토리얼을 제공합니다. 또한 특정 통합에 대한 전용 튜토리얼을 제공합니다:

일부 세부 사항은 제품마다 다를 수 있지만 근본적인 구성은 일반적입니다. 질문이 있거나 추가 지원이 필요하면 우리의 Discord 서버에 참여하여 추가 논의를 권장합니다.

시작해봅시다!

준비사항

시작하기 전에 다음이 필요합니다:

  • 작동 중인 Logto 인스턴스 또는 Logto 클라우드 계정에 대한 액세스.
  • 타사 OAuth 또는 OIDC ID 공급자를 지원하는 제품 ("제품"이라고 함).

Logto 설정하기

Logto를 자체 호스팅하는 경우, Logto 인스턴스 설정을 위해 Logto "시작하기" 문서를 참조하세요.

Logto 클라우드를 사용하는 경우 URL https://cloud.logto.io/ 에 액세스하여 Logto 콘솔을 엽니다. 그렇지 않으면 자체 호스팅을 설정한 엔드포인트를 사용합니다.

애플리케이션 생성하기

"Applications" 탭으로 이동하여 "애플리케이션 생성"을 클릭합니다.

Logto 콘솔의 "Applications" 탭

나타나는 모달에서 "전통적 웹"을 선택하고 "내 앱"과 같은 애플리케이션 이름을 제공합니다. "애플리케이션 생성"을 클릭합니다.

여러 애플리케이션 유형을 보여주는 "애플리케이션 생성" 모달

Logto의 튜토리얼 페이지로 이동합니다. 상단 오른쪽 모서리에서 "건너뛰기"를 클릭하여 애플리케이션 세부사항 페이지로 진행합니다.

애플리케이션 세부사항 페이지

리디렉션 URI 구성

"리디렉션 URI" 섹션에서 제품 문서에 제공된 값을 입력합니다. 일반적으로 ID나 엔드포인트 구성에 따라 동적입니다. 예를 들어 ChatGPT 플러그인에서는 리디렉션 URI가 다음과 같습니다:

https://chat.openai.com/aip/[your-plugin-id]/oauth/callback

플러그인 ID가 foo123인 경우 값은 다음과 같이 해야 합니다:

https://chat.openai.com/aip/foo123/oauth/callback

리디렉션 URI 구성 섹션

또는 "리디렉션 URL," "콜백 URI," 또는 "콜백 URL"이라고 할 수 있습니다.

선택사항: Logto가 리프레시 토큰을 발행하는지 확인

일부 제품은 Logto에 토큰 교환 요청을 보낼 때 리프레시 토큰이 필요할 수 있습니다. OAuth의 경우, offline_access 범위를 포함해야 합니다. OIDC 프로토콜에 따라 기본적으로 제품은 권한 코드 흐름에 대한 초기 인증 요청에 prompt=consent 검색 매개변수를 추가해야 하며, 그렇지 않으면 리프레시 토큰이 발행되지 않습니다.

제품이 OAuth를 사용하거나, prompt=consent 매개변수 또는 offline_access 범위를 추가하지 않지만 리프레시 토큰이 필요한 경우 (예: ChatGPT 플러그인) "고급 설정" 섹션으로 스크롤하여 "항상 리프레시 토큰 발행"을 활성화하세요.

"항상 리프레시 토큰 발행" 토글

완료되었습니다!

하단의 "변경 사항 저장" 버튼을 클릭하세요. 이 페이지를 열어두면 추가 구성에 유용할 것입니다.

액션 바에 "변경 사항 저장" 버튼이 표시됩니다

제품 구성하기

제품 설명서에 따라 OAuth 또는 OIDC 구성을 위한 단계를 따르세요.

기본 구성

필요한 구성 값의 대부분은 Logto 애플리케이션 세부 사항 페이지에서 찾을 수 있습니다. 일부 이름은 별칭이 있을 수 있으니 아래 표를 참조하세요:

Logto 이름별칭용도
앱 ID애플리케이션 ID, 클라이언트 ID
앱 비밀값애플리케이션 비밀값, 클라이언트 비밀값
리디렉션 URI리디렉션 URL, 콜백 URI, 콜백 URL로그인 후 리디렉션
로그아웃 후 리디렉션 URIs로그아웃 후 리디렉션 URL, 로그아웃 후 (리디렉션) URI, 로그아웃 후 (리디렉션) URL로그아웃 후 리디렉션
인증 엔드포인트인증 URI, 인증 URL, 인증 엔드포인트, 인증 URL, 인증 URI초기 인증
토큰 엔드포인트토큰 URL, 토큰 URI토큰 부여 요청
사용자 정보 엔드포인트사용자 정보 URL, 사용자 정보 URI, 사용자 정보 엔드포인트, 사용자 정보 URL, 사용자 정보 URI현재 사용자 정보 가져오기

현대 제품의 경우 "탐색 엔드포인트"가 충분할 수 있습니다. 이런 경우, 인증 엔드포인트에서 auth.well-known/openid-configuration 로 대체하십시오. 예를 들어 인증 엔드포인트가 https://default.logto.app/oidc/auth 인 경우, 탐색 엔드포인트는 https://default.logto.app/oidc/.well-known/openid-configuration 가 됩니다.

선택사항: 범위 구성

제품이 OIDC를 지원하거나 ID 토큰 발행이 필요한 경우, 범위 구성에 openid profile 을 추가하세요. 아래의 클레임-범위 표를 참조하세요:

클레임유형필요한 범위
sub문자열openid
name문자열프로필
username문자열프로필
picture문자열프로필
email문자열이메일
email_verified불리언이메일
phone_number문자열전화
phone_number_verified불리언전화

체크포인트: Logto 통합 테스트

제품의 로그인 버튼을 클릭하면 Logto 로그인 경험으로 이동합니다.

Logto 로그인 경험

모든 것이 올바르게 구성되었다면 Logto에서 로그인 또는 등록 프로세스를 완료한 후, 오류 없이 다시 제품으로 리디렉션됩니다.

이로써 Logto를 사용한 OAuth 및 OIDC 인증 간소화 가이드가 마무리됩니다. 통합 중에 문제가 발생하면 [email protected]로 이메일을 보내거나 우리의 Discord 서버에 참여하여 연락 주세요!

추가 읽기