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:
/probetoken select/context preview 확인/mcp-reasoningtoken select/context preview 확인- 390px 모바일 body overflow 없음