본문으로 건너뛰기

사용자 인가 앱(그랜트) 관리

앱 그랜트는 특정 클라이언트 애플리케이션에 대한 사용자 인가 상태를 나타냅니다.

사용자 또는 관리자가 인가된 앱을 검토하고 전체 Logto 세션을 해제하지 않고 앱 접근을 해제해야 할 때 그랜트 관리를 사용하세요.

그랜트가 해제되면, 해당 그랜트에 대해 이전에 발급된 불투명 토큰 (Opaque token) 액세스 토큰 및 리프레시 토큰은 무효화됩니다. JWT 액세스 토큰은 상태를 저장하지 않으므로, 이전에 발급된 토큰은 만료될 때까지 유효합니다.

올바른 경로 선택하기

시나리오권장 경로
로그인한 사용자가 자신의 앱 인가를 직접 관리하도록 허용Account API
관리자 또는 지원팀이 특정 사용자의 그랜트를 관리하도록 허용Management API
운영자가 UI에서 서드파티 앱 인가를 관리하도록 허용Admin Console

직접 그랜트 관리 API

Account API (셀프 서비스)

최종 사용자 계정 설정 페이지에서 Account API를 사용하세요:

Management API (관리자 도구)

관리자 도구 및 지원 워크플로우에서 Management API를 사용하세요:

앱 유형별 그랜트 목록 필터링

그랜트 목록 엔드포인트는 선택적 쿼리 파라미터 appType을 지원합니다:

  • appType=firstParty: 퍼스트파티 앱 그랜트만 나열합니다.
  • appType=thirdParty: 서드파티 앱 그랜트만 나열합니다.
  • appType을 생략: 모든 활성 그랜트를 반환합니다.

다이나믹 앱 클라이언트는 서드파티 애플리케이션이므로, 해당 그랜트는 appType=thirdParty로 반환됩니다. 클라이언트 ID URL이 애플리케이션 ID로 사용됩니다.

Console에서 서드파티 앱 인가 관리하기

Logto Console에서는 사용자 상세 페이지에서 인가된 서드파티 앱을 확인하고 해제할 수 있습니다.

세션 해제 시 그랜트 해제하기

DELETE /api/my-account/sessions/{sessionId}로 세션을 해제할 때, 선택적 쿼리 파라미터 revokeGrantsTarget을 사용하여 그랜트 해제 범위를 제어할 수 있습니다:

  • all: 세션과 연관된 모든 앱의 그랜트를 해제합니다.
  • firstParty: 퍼스트파티 앱의 그랜트만 해제합니다.

세션 수준 동작 및 엔드포인트 맥락에 대해서는 사용자 세션 관리로그아웃을 참고하세요.

세션 사용자 세션 관리

Account API로 계정 설정: 사용자 인가 앱(그랜트) 관리

Management API로 계정 설정: 사용자 인가 앱(그랜트) 관리