개요
#34 (다중 토큰 맵)의 후속 작업. scope-keyed 토큰 맵 위에 실제 프로젝트/클라우드 전환 기능을 구현한다.
구현 범위
1. SwitchProject Action
Action::SwitchProject { project_name, domain } 추가
- active_scope 변경 → 기존 캐시 토큰 재사용 또는 rescoping
2. Keystone rescoping
- 기존 유효 토큰의
token_id로 새 scope 토큰 발급 (비밀번호 재입력 불필요)
- POST
/v3/auth/tokens with X-Auth-Token: 기존토큰 + 새 scope body
3. SwitchCloud Action
Action::SwitchCloud(cloud_name) 구현 (현재 stub)
- Config에서 새 cloud 설정 로드
- AdapterRegistry 전체 재생성 (auth + HTTP adapters)
- 모든 컴포넌트에 Refresh 브로드캐스트
4. UI 프로젝트 전환 메뉴
- Sidebar 또는 상태바에 현재 프로젝트 표시
- 프로젝트 목록에서 전환 선택
의존성
참조
- gtema/openstack
openstack_async.rs:377-485 (authorize_with_auth_helper, rescoping 흐름)
- gtema/openstack
auth-core/src/authtoken_scope.rs (TokenScope enum)
개요
#34 (다중 토큰 맵)의 후속 작업. scope-keyed 토큰 맵 위에 실제 프로젝트/클라우드 전환 기능을 구현한다.
구현 범위
1. SwitchProject Action
Action::SwitchProject { project_name, domain }추가2. Keystone rescoping
token_id로 새 scope 토큰 발급 (비밀번호 재입력 불필요)/v3/auth/tokenswithX-Auth-Token: 기존토큰+ 새 scope body3. SwitchCloud Action
Action::SwitchCloud(cloud_name)구현 (현재 stub)4. UI 프로젝트 전환 메뉴
의존성
참조
openstack_async.rs:377-485(authorize_with_auth_helper, rescoping 흐름)auth-core/src/authtoken_scope.rs(TokenScope enum)