애플리케이션 데이터 구조
소개
Logto에서 애플리케이션은 Logto 플랫폼에 등록되어 사용자 정보를 액세스하거나 사용자를 대신하여 작업을 수행할 수 있는 권한을 부여받은 특정 소프트웨어 프로그램 또는 서비스를 의미합니다. 애플리케이션은 Logto API에 대한 요청의 출처를 식별하고, 해당 애플리케이션에 액세스하는 사용자의 인증 및 인가 (Authorization) 프로세스를 관리하는 데 사용됩니다.
Logto의 로그인 경험에서 애플리케이션을 사용하면 사용자가 단일 위치에서 승인된 애플리케이션에 쉽게 액세스하고 관리할 수 있으며, 일관되고 안전한 인증 프로세스를 제공합니다. 이는 사용자 경험을 간소화하고, 조직을 대신하여 민감한 정보에 액세스하거나 작업을 수행하는 권한이 있는 사람만이 액세스하도록 보장합니다.
애플리케이션은 또한 Logto의 감사 로그에서 사용자 활동을 추적하고 잠재적인 보안 위협이나 침해를 식별하는 데 사용됩니다. 특정 작업을 특정 애플리케이션과 연관시킴으로써, Logto는 데이터가 어떻게 액세스되고 사용되는지에 대한 자세한 통찰력을 제공하여 조직이 보안 및 규정 준수 요구 사항을 더 잘 관리할 수 있도록 합니다. 애플리케이션을 Logto와 통합하려면 Logto 통합을 참조하세요.
속성
애플리케이션 ID
애플리케이션 ID는 Logto에서 애플리케이션을 식별하기 위한 고유한 자동 생성 키이며, OAuth 2.0에서 client id로 참조됩니다.
애플리케이션 유형
애플리케이션은 다음 애플리케이션 유형 중 하나일 수 있습니다:
- 네이티브 앱은 네이티브 환경에서 실행되는 앱입니다. 예: iOS 앱, Android 앱.
- 단일 페이지 앱은 웹 브라우저에서 실행되며, 서버에서 새로운 데이터를 받아와 페이지를 업데이트하는 앱입니다. 예: React DOM 앱, Vue 앱.
- 전통적인 웹 앱은 웹 서버에 의해 페이지를 렌더링하고 업데이트하는 앱입니다. 예: JSP, PHP.
- 기계 간 (M2M) 앱은 사용자 상호작용 없이 서비스 간 직접 통신을 위해 기계 환경에서 실행되는 애플리케이션입니다.
애플리케이션 비밀
애플리케이션 비밀은 인증 시스템에서 애플리케이션을 인증하는 데 사용되는 키로, 특히 개인 클라이언트 (전통적인 웹 및 M2M 앱)를 위한 개인 보안 장벽입니다.
애플리케이션 이름
애플리케이션 이름은 사람이 읽을 수 있는 애플리케이션의 이름이며, 관리자 콘솔에 표시됩니다.
애플리케이션 이름은 Logto에서 애플리케이션을 관리하는 중요한 구성 요소로, 관리자가 플랫폼 내에서 개별 애플리케이션의 활동을 쉽게 식별하고 추적할 수 있도록 합니다.
애플리케이션 이름은 관리자 콘솔에 액세스할 수 있는 모든 사용자에게 표시되므로 신중하게 선택해야 합니다. 애플리케이션의 목적과 기능을 정확하게 반영하면서도 이해하기 쉽고 인식하기 쉬워야 합니다.
설명
애플리케이션의 간단한 설명이 관리자 콘솔 애플리케이션 세부 정보 페이지에 표시됩니다. 설명은 애플리케이션의 목적, 기능 및 기타 관련 세부 정보를 관리자가 추가로 제공받을 수 있도록 합니다.
리디렉션 URI
리디렉션 URI는 애플리케이션에 대해 사전 구성된 유효한 리디렉션 URI 목록입니다. 사용자가 Logto에 로그인하고 애플리케이션에 액세스하려고 할 때, 애플리케이션 설정에 지정된 허용된 URI 중 하나로 리디렉션됩니다.
허용된 URI 목록은 애플리케이션이 인증 (Authentication) 프로세스 중 Logto에 보낸 인가 (Authorization) 요청에 포함된 리디렉션 URI를 검증하는 데 사용됩니다. 인가 요청에 지정된 리디렉션 URI가 애플리케이션 설정의 허용된 URI 중 하나와 일치하면, 사용자는 인증에 성공한 후 해당 URI로 리디렉션됩니다. 리디렉션 URI가 허용된 목록에 없으면, 사용자는 리디렉션되지 않으며 인증 프로세스가 실패합니다.
모든 유효한 리디렉션 URI가 Logto의 애플리케이션에 대한 허용 목록에 추가되어야 사용자가 인증 후 애플리케이션에 성공적으로 액세스할 수 있습니다.
리디렉션 엔드포인트를 참조하여 더 많은 정보를 확인할 수 있습니다.
인가 코드 플로우를 사용한 OIDC에서 리디렉션 URI 이해하기
로그아웃 후 리디렉션 URI
로그아웃 후 리디렉션 URI는 Logto에서 로그아웃한 후 사용자를 리디렉션하기 위해 애플리케이션에 대해 사전 구성된 유효한 URI 목록입니다.
로그아웃을 위한 허용된 로그아웃 후 리디렉션 URI의 사용은 OIDC의 RP-Initiated (Relying Party Initiated) 로그아웃 사양의 일부입니다. 이 사양은 사용자를 위한 로그아웃 요청을 시작하고, 로그아웃 후 사용자를 사전 구성된 엔드포인트로 리디렉션하는 표준화된 방법을 제공합니다.
사용자가 Logto에서 로그아웃하면, 세션이 종료되고 애플리케이션 설정에 지정된 허용된 URI 중 하나로 리디렉션됩니다. 이는 사용자가 로그아웃 후 승인되고 유효한 엔드포인트로만 리디렉션되도록 하여, 알 수 없거나 검증되지 않은 엔드포인트로 사용자를 리디렉션하는 것과 관련된 무단 액세스 및 보안 위험을 방지하는 데 도움이 됩니다.
RP-initiated 로그아웃을 참조하여 더 많은 정보를 확인할 수 있습니다.
CORS 허용된 출처
CORS (Cross-origin resource sharing) 허용된 출처는 애플리케이션이 Logto 서비스에 요청을 보낼 수 있는 허용된 출처 목록입니다. 허용된 목록에 포함되지 않은 출처는 Logto 서비스에 요청을 보낼 수 없습니다.
CORS 허용된 출처 목록은 무단 도메인으로부터 Logto 서비스에 대한 액세스를 제한하고, 교차 사이트 요청 위조 (CSRF) 공격을 방지하는 데 사용됩니다. Logto에서 애플리케이션에 대한 허용된 출처를 지정함으로써, 서비스는 승인된 도메인만이 서비스에 요청을 보낼 수 있도록 보장할 수 있습니다.
허용된 출처 목록에는 애플리케이션이 제공될 출처가 포함되어야 합니다. 이는 애플리케이션의 요청이 허용되도록 하며, 무단 출처의 요청은 차단됩니다.
OpenID 제공자 구성 엔드포인트
OpenID Connect Discovery의 엔드포인트입니다.
인가 엔드포인트
인가 엔드포인트는 OIDC 용어로, 사용자의 인증 프로세스를 시작하는 데 사용되는 필수 엔드포인트입니다. 사용자가 Logto 플랫폼에 등록된 보호된 리소스 또는 애플리케이션에 액세스하려고 할 때, 그들은 인가 엔드포인트로 리디렉션되어 자신의 아이덴티티를 인증하고 요청된 리소스에 대한 인가를 받습니다.
인가 엔드포인트를 참조하여 더 많은 정보를 확인할 수 있습니다.
토큰 엔드포인트
토큰 엔드포인트는 OIDC 용어로, OIDC 클라이언트가 OIDC 제공자로부터 액세스 토큰, ID 토큰 또는 리프레시 토큰을 얻기 위해 사용하는 웹 API 엔드포인트입니다.
OIDC 클라이언트가 액세스 토큰이나 ID 토큰을 얻어야 할 때, 인가 코드 또는 리프레시 토큰과 같은 인가 그랜트를 사용하여 토큰 엔드포인트에 요청을 보냅니다. 토큰 엔드포인트는 인가 그랜트를 검증하고, 그랜트가 유효한 경우 클라이언트에게 액세스 토큰이나 ID 토큰을 발급합니다.
토큰 엔드포인트를 참조하여 더 많은 정보를 확인할 수 있습니다.
사용자 정보 엔드포인트
OpenID Connect 사용자 정보 엔드포인트.
항상 리프레시 토큰 발급
사용 가능: 전통적인 웹, SPA
활성화되면, Logto는 인증 요청에 prompt=consent
가 표시되지 않거나 스코프에 offline_access
가 표시되지 않더라도 항상 리프레시 토큰을 발급합니다.
그러나 이 관행은 필요하지 않는 한 권장되지 않습니다 (일반적으로 리프레시 토큰이 필요한 일부 타사 OAuth 통합에 유용함). 이는 OpenID Connect와 호환되지 않으며 잠재적으로 문제를 일으킬 수 있습니다.
리프레시 토큰 회전
기본값: true
활성화되면, Logto는 다음 조건에서 토큰 요청에 대해 새로운 리프레시 토큰을 발급합니다:
- 리프레시 토큰이 1년 동안 회전된 경우 (새로운 토큰 발급으로 TTL이 연장됨); 또는
- 리프레시 토큰이 만료 시간에 가까운 경우 (원래 TTL의 70% 이상 경과); 또는
- 클라이언트가 공용 클라이언트인 경우, 예: 네이티브 애플리케이션 또는 단일 페이지 애플리케이션 (SPA).
공용 클라이언트의 경우, 이 기능이 활성화되면 클라이언트가 리프레시 토큰을 사용하여 새로운 액세스 토큰을 교환할 때마다 항상 새로운 리프레시 토큰이 발급됩니다. 이러한 공용 클라이언트에 대해 기능을 비활성화할 수도 있지만, 보안상의 이유로 활성화 상태를 유지하는 것이 강력히 권장됩니다.
리프레시 토큰 회전 이해하기
리프레시 토큰 TTL (Time-to-live) 일수
사용 가능: SPA 제외; 기본값: 14일
리프레시 토큰이 만료되어 무효화되기 전에 새로운 액세스 토큰을 요청할 수 있는 기간입니다. 토큰 요청은 리프레시 토큰의 TTL을 이 값으로 연장합니다.
일반적으로 낮은 값이 선호됩니다.
참고: 보안상의 이유로 SPA (단일 페이지 앱)에서는 TTL 갱신이 불가능합니다. 이는 Logto가 토큰 요청을 통해 TTL을 연장하지 않음을 의미합니다. 사용자 경험을 향상시키기 위해 "리프레시 토큰 회전" 기능을 활성화하여 필요할 때 Logto가 새로운 리프레시 토큰을 발급할 수 있도록 할 수 있습니다.
백채널 로그아웃 URI
OpenID Connect 백채널 로그아웃 엔드포인트입니다. 연합 로그아웃: 백채널 로그아웃을 참조하여 더 많은 정보를 확인할 수 있습니다.
사용자 정의 데이터
미리 정의된 애플리케이션 속성에 나열되지 않은 추가 사용자 정의 애플리케이션 정보로, 사용자는 비즈니스별 설정 및 구성과 같은 특정 요구에 따라 사용자 정의 데이터 필드를 정의할 수 있습니다.