OIDC 클라이언트
OIDC 클라이언트 화면에서 외부 시스템과 SSO 앱이 D.Hub 토큰을 발급받을 때 사용할 클라이언트를 등록·관리합니다. 서버 간 호출(M2M)과 사용자 로그인 위임 두 가지 연동을 모두 이 화면에서 다룹니다.
관리자 유형의 사용자만 이 화면에 접근합니다. 권한이 없는 사용자가 주소로 직접 접근하면 홈으로 이동합니다.
접근 방법
사이드바에서 시스템 → 설정 → OIDC 클라이언트 메뉴로 들어갑니다.

클라이언트 목록
등록된 클라이언트가 Client ID, 이름, Grant 타입, Audiences, 생성일 컬럼의 테이블로 표시됩니다.
- 검색: 상단 검색창에 Client ID, 이름, Audience를 입력해 목록을 좁힙니다.
- 필터: 전체 / 인증 코드 / 클라이언트 자격 증명 세그먼트로 Grant 타입별 클라이언트만 표시합니다.
- 상세 이동: 행을 클릭하면 편집 화면으로 이동합니다.
여러 행을 선택하면 삭제를 순차 실행합니다. 시크릿 재발급은 일괄 작업에 포함되지 않고 각 행에서 실행합니다. 필터 결과 전체 선택, 페이지 이동, 부분 실패와 필터·정렬 URL 복원 규칙은 첫 화면의 관리 목록 공통 동작에서 확인합니다.
클라이언트 유형과 Grant 타입
| 항목 | 선택지 | 용도 |
|---|---|---|
| Client 유형 | Confidential / Public | Confidential은 시크릿을 안전하게 보관할 수 있는 서버형 클라이언트, Public은 시크릿을 보관할 수 없는 브라우저·모바일형 클라이언트입니다. |
| Grant 타입 | 인증 코드 / 클라이언트 자격 증명 | 인증 코드는 사용자 로그인 위임(SSO 앱), 클라이언트 자격 증명은 사용자 없이 실행되는 서버 간 호출에 사용합니다. |
신규 Public 클라이언트는 PKCE가 필수인 SSO 전용입니다. Refresh 토큰·token exchange·클라이언트 자격 증명 Grant를 사용할 수 없습니다. 기존 내부 Portal 클라이언트의 쿠키 갱신 설정은 유지합니다.
사용자 신원으로 API를 호출하는 앱은 Confidential + 인증 코드 + PKCE로 등록합니다. 토큰은 앱의 BFF에 보관합니다. 현재는 조직이 신뢰하는 앱만 대상이며, API scope 상한과 서비스 간 호출 검증 전에는 외부 업체에 개방하지 않습니다.
클라이언트 등록하기
-
목록 오른쪽 위 등록을 클릭합니다. OIDC 클라이언트 등록 화면이 나타납니다.
-
각 섹션의 항목을 입력합니다.
항목 필수 설명 Client ID 필수 토큰 발급에 사용하는 고유 식별자입니다. 영문, 숫자, 콜론, 밑줄, 하이픈만 사용합니다. 이름 필수 목록과 감사 기록에서 알아볼 수 있는 이름을 입력합니다. 설명 선택 클라이언트의 소유자와 사용 목적을 기록합니다. Client 유형 필수 Confidential(기본값) 또는 Public을 선택합니다. Grant 타입 필수 인증 코드, 클라이언트 자격 증명 중에서 선택합니다. 정확히 하나만 선택합니다. PKCE 필수 — 인증 코드 교환에 PKCE 검증을 요구합니다. Refresh 토큰 허용 — 외부 Confidential 앱의 BFF에 refresh token을 발급합니다. 브라우저에 전달하지 않습니다. Redirect URI 인증 코드 선택 시 필수 인증 코드를 전달받을 HTTP·HTTPS 주소를 입력하고 Enter로 추가합니다. 허용 Audience 클라이언트 자격 증명 선택 시 필수 M2M 서비스 토큰의 대상입니다. 기본값은 dhub2-manager이며 사용자 로그인 앱에는 표시하지 않습니다.교환 허용 Audience 선택 Confidential 클라이언트가 교환할 대상 서비스를 서버 목록에서 선택합니다. 빈 목록은 교환 금지입니다. 
-
등록을 클릭합니다.
-
Confidential 클라이언트라면 표시된 시크릿을 복사해 안전한 저장소에 보관합니다.
-
목록에서 Client ID와 Grant 타입을 확인하고, 편집 화면의 구성 탭에서 교환 허용 Audience를 확인합니다. 목록의 Audiences는 M2M용 허용 Audience입니다.
편집 화면에서는 이름·설명·Redirect URI·PKCE·Refresh 허용과 Audience 정책을 수정합니다. 식별자나 인증 방식을 바꾸려면 클라이언트를 새로 등록합니다.
교환 권한 변경하기
- 클라이언트 편집 화면의 구성 탭을 엽니다.
- 교환 허용 Audience에서 필요한 서비스만 선택합니다. 모두 지우면 교환을 금지합니다.
- 저장을 클릭합니다. Manager 재시작 없이 이후 교환 요청에 적용합니다. 이미 발급한 토큰은 만료까지 유효할 수 있습니다.
기존 배포 설정으로 관리 중이라는 안내가 보이면, 목록을 선택하기 전까지 현재 정책을 유지합니다. 이를 명시적으로 폐기하려면 교환 금지로 설정을 누르고 저장합니다. 이름이나 설명만 수정하면 교환 정책은 바뀌지 않습니다.
목록을 불러오지 못하면 Manager 배포 상태를 확인한 뒤 목록 다시 불러오기를 클릭합니다. 임의로 Audience를 입력하거나 권한을 넓혀 우회하지 않습니다.
교환 허용 Audience는 토큰을 받을 서비스를 제한합니다. 사용자가 이미 가진 쓰기·삭제 권한을 읽기 전용으로 줄이지 않습니다. 앱별 API scope 제한은 아직 지원하지 않습니다.
클라이언트 시크릿 관리
Confidential 클라이언트를 생성하면 클라이언트 시크릿 생성 완료 창에 시크릿이 표시됩니다. 복사로 값을 복사하고 안전한 곳에 보관한 뒤, 확인 체크박스를 선택해야 창을 닫을 수 있습니다.
시크릿 값은 생성·재발급 직후 한 번만 표시되며 다시 조회할 수 없습니다. 값을 잃어버리면 시크릿 재발급으로 새 시크릿을 발급합니다.
시크릿을 교체하려면 행 작업 메뉴 또는 편집 화면의 시크릿 재발급을 선택합니다. 새 값을 먼저 안전한 저장소와 외부 서비스에 반영하고 인증 요청이 성공하는지 확인합니다. 재발급하면 기존 시크릿은 즉시 무효화될 수 있습니다.
클라이언트 삭제
행 작업 메뉴에서 삭제를 선택합니다. 확인 창에 해당 Client ID를 직접 입력해야 삭제 버튼이 활성화됩니다.
삭제 후에는 이 Client ID로 토큰을 발급받던 외부 서비스가 더 이상 인증할 수 없습니다. 연동 중인 서비스가 없는지 확인한 뒤 삭제합니다.
다음 단계
-
API 인증 — BFF 로그인, token exchange, 갱신과 로그아웃을 구현합니다.
-
서비스 계정 — OAuth 연동 대신 액세스 토큰으로 인증하는 자동화 계정을 관리합니다.
-
설정 인증 및 접근 권한 — 로그인 방식과 역할 기반 접근 권한을 확인합니다.