# 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 없음