1
0
forked from baron/baron-sso
Files
baron-sso/docs/descope_inbound_apps.md
2026-01-30 11:22:56 +09:00

136 lines
3.5 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
**Descope Inbound App은 “OIDC 클라이언트 + 사용자 동의(Consent) + 토큰/세션 정책”을 한 화면에 묶어 제공하는 콘솔**입니다.
---
## 1⃣ Inbound App 기본 정보 (OIDC Client 메타데이터)
**역할: OAuth/OIDC Client 정의**
- **Inbound App Name / ID**
- OIDC `client_id`에 대응
- **Description**
- **Status (Verified / Unverified)**
- 사용자에게 신뢰된 앱인지 표시용
👉 Hydra 기준으로 보면 `hydra clients create`**client 메타 정보 영역**
---
## 2⃣ Scopes 관리 (권한 정의)
**역할: “이 앱이 무엇을 요구할 수 있는가” 정의**
### Permission Scopes
- `full_access`
- `profile`
- `email`
- 각 scope별:
- 설명
- Role 연계 여부
- Mandatory 여부
### User Information Scopes
- 사용자 claims에 포함될 정보 정의
- “토큰에 항상 authorization 정보 포함” 옵션
👉 OIDC의 `scope` + `claims` 설계를 **UI로 추상화**
---
## 3⃣ Consents (사용자 동의) 탭
**역할: Descope 인바운드 앱의 핵심**
- 사용자가 로그인 중 보게 되는 화면
- “이 앱이 아래 권한을 요청합니다”
- Scope별 동의/거부
- Mandatory scope는 자동 포함
👉 이게 **Hydra의 `consent_challenge`를 처리하는 UI**에 해당
👉 김용연님이 **5174에 구현하라고 들은 바로 그 기능**
---
## 4⃣ Connection Information (OIDC Endpoint 묶음)
**역할: 외부 앱이 실제로 연동할 정보**
- **Flow Hosting URL**
- Descope가 제공하는 로그인 + consent orchestration URL
- **Approved Redirect URIs**
- OAuth redirect whitelist
- **Client ID / Client Secret**
- **Discovery URL**
- `/.well-known/openid-configuration`
- **Issuer**
- **Authorization URL**
- **Token URL**
- **Audience Whitelist**
- **Default Audience 설정**
👉 이 영역은 **OIDC 표준 설정을 전부 노출**
👉 Hydra로 치면:
- discovery
- issuer
- `/oauth2/auth`
- `/oauth2/token`
---
## 5⃣ Session Management (토큰/세션 정책)
**역할: 보안 정책 제어**
### Token Format
- User JWT 템플릿
- Access Key JWT 템플릿
### Token Expiration
- Refresh Token Timeout (예: 520주)
- Session Token Timeout (분 단위)
- Access Token Timeout
👉 Hydra + Kratos 설정을 **앱 단위로 override**하는 개념
---
## 6⃣ Descope Inbound App이 “한 번에 제공하는 것” 요약
한 문장으로 정리하면:
> **Descope Inbound App =
> OIDC Client 관리 + Scope 정의 + Consent UI + Token/Session 정책 + Login Flow Hosting**
---
## 7⃣ 김용연님 Baron SSO(5174)와의 1:1 대응표
| Descope Inbound App | Baron SSO(5174) |
| ---------------------- | ------------------------------- |
| Inbound App Details | Client 관리 화면 |
| Scopes | Client Scope 설정 |
| **Consents** | **/consent 페이지 (구현 대상)** |
| Connection Information | Hydra Client 설정 |
| Session Management | 토큰 정책 설정 |
👉 그래서 결론적으로,
- **지금 5174 `/clients` 화면은 Descope의 “Settings 탭 일부”**
- **Consents 탭이 빠져 있어서 아직 Descope의 절반만 구현된 상태**
---
## 최종 정리 한 줄
> **Descope Inbound App은 “OIDC Client + 사용자 동의 + 보안 정책”을 묶은 올인원 인바운드 애플리케이션 콘솔이고,
> 5174는 그걸 Hydra 기반으로 우리가 직접 재구현하는 중이다.**