Files
2026-06-26 13:53:10 +09:00

39 lines
2.0 KiB
Markdown

# Redmine #492 - ORDS 검증/Reasoning 토큰 선택 흐름 개선 설계
## 프로젝트 개요
VPD Backoffice는 Oracle Database VPD/ORDS 기능을 백오피스 권한 테이블로 제어하기 위한 Spring Boot 관리 도구다. ORDS 검증과 MCP Reasoning은 Bearer Token으로 보호 객체를 호출하고, VPD/컬럼 NULL 처리 결과를 확인한다.
## 목표
ORDS 검증과 MCP Reasoning에서 등록된 토큰을 선택해 사용자/역할/만료 상태를 확인한 뒤 검증할 수 있게 한다.
## 제약
토큰 원문은 발급 직후 한 번만 표시되고 DB에는 `key_hash`와 prefix만 저장된다. 따라서 기존 등록 토큰을 선택하더라도 백오피스가 원문 bearer 값을 복원해 ORDS 호출에 사용할 수 없다.
## 설계
- 등록 토큰 select를 추가한다.
- 선택한 토큰의 사용자, prefix, 만료, 회수 상태, 직접 역할, 그룹, 그룹 상속 역할을 preview로 표시한다.
- 실제 ORDS 호출에는 기존처럼 bearer token 원문 입력이 필요하다.
- 사용자가 등록 토큰을 선택한 경우, 입력한 원문이 선택 token id의 hash와 일치하는지 service에서 검증한다.
- 선택 토큰과 원문이 맞지 않으면 ORDS 호출 전에 `INVALID_TOKEN`으로 차단한다.
- 원문 입력 없이 선택 토큰만으로 호출할 수 없다는 안내를 화면에 표시한다.
## 완료 기준
- `/probe`에서 등록 토큰 선택과 token context preview가 표시된다.
- `/mcp-reasoning`에서 등록 토큰 선택과 token context preview가 표시된다.
- 선택 토큰 변경 시 사용자/역할/만료 상태 preview가 즉시 갱신된다.
- 선택 토큰과 입력 원문이 불일치하면 ORDS 호출 전에 `INVALID_TOKEN`으로 실패한다.
- 기존 raw bearer token만 입력하는 흐름은 유지된다.
## 검증
- `mvn test`
- Playwright:
- `/probe` token select/context preview 확인
- `/mcp-reasoning` token select/context preview 확인
- 390px 모바일 body overflow 없음