사용자 인가 앱(그랜트) 관리
앱 그랜트는 특정 클라이언트 애플리케이션에 대한 사용자 인가 상태를 나타냅니다.
사용자 또는 관리자가 인가된 앱을 검토하고 전체 Logto 세션을 해제하지 않고 앱 접근을 해제해야 할 때 그랜트 관리를 사용하세요.
그랜트가 해제되면, 해당 그랜트에 대해 이전에 발급된 불투명 토큰 (Opaque token) 액세스 토큰 및 리프레시 토큰은 무효화됩니다. JWT 액세스 토큰은 상태를 저장하지 않으므로, 이전에 발급된 토큰은 만료될 때까지 유효합니다.
올바른 경로 선택하기
| 시나리오 | 권장 경로 |
|---|---|
| 로그인한 사용자가 자신의 앱 인가를 직접 관리하도록 허용 | Account API |
| 관리자 또는 지원팀이 특정 사용자의 그랜트를 관리하도록 허용 | Management API |
| 운영자가 UI에서 서드파티 앱 인가를 관리하도록 허용 | Admin Console |
직접 그랜트 관리 API
Account API (셀프 서비스)
최종 사용자 계정 설정 페이지에서 Account API를 사용하세요:
GET /api/my-account/grantsDELETE /api/my-account/grants/{grantId}- 참고: 사용자 인가 앱(그랜트) 관리
Management API (관리자 도구)
관리자 도구 및 지원 워크플로우에서 Management API를 사용하세요:
GET /api/users/{userId}/grantsDELETE /api/users/{userId}/grants/{grantId}- 참고: 사용자 인가 앱(그랜트) 관리
앱 유형별 그랜트 목록 필터링
그랜트 목록 엔드포인트는 선택적 쿼리 파라미터 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로 계정 설정: 사용자 인가 앱(그랜트) 관리