auth 서브커맨드가 로컬 자격증명과, 이후 명령이 동작할 워크스페이스를 관리. 로그인은 OAuth 기반이고, CLI가 OS 설정 디렉터리 아래에 사용자별 토큰을 저장.
명령
auth login
- 워크스페이스 목록을 가져옴.
- 아직 없으면 첫 것을 활성으로 고정.
- OS 설정 위치에 자격증명을 씀:
- macOS:
~/Library/Application Support/nora/credentials.json - Linux:
~/.config/nora/credentials.json - Windows:
%APPDATA%\nora\credentials.json
- macOS:
auth logout
auth status
- 활성 워크스페이스 이름과 ID.
- 저장된 모든 워크스페이스(이름 + ID + 역할).
- 토큰(가려져서 prefix만).
- 가리키는 서버 URL.
auth workspaces list
owner / manager / member)을 표시해, 파괴적 명령을 돌리기 전에 권한을 알 수 있음.
auth workspaces switch <id>
auth workspaces current
한 머신에 여러 계정
CLI는 활성 자격증명 한 벌을 저장. 다른 계정을 쓰려면:NORA_CONFIG_DIR를 가리켜 자격증명 파일을 여러 벌 유지:
개인 토큰과 워크스페이스 토큰
두 토큰 다 됨:
CI에는 워크스페이스 토큰이 맞음. 엉뚱한 워크스페이스에 실수로 동작하지 않고, 하나를 거둬도 사용자가 앱에서 로그아웃되지 않음.
CI는
NORA_TOKEN을 시크릿으로 설정:
auth login이 필요 없음. CLI가 NORA_TOKEN을 알아서 집어옴.
토큰 수명
- 개인 접근 토큰: 거둘 때까지 유효. 쓰면 자동으로 새로 고침.
- 워크스페이스 토큰: 거두거나 워크스페이스를 지울 때까지 유효.
문제 해결
“Not authenticated”auth login을 실행하거나 NORA_TOKEN을 설정.
“Wrong workspace” auth status로 활성 워크스페이스를 보고, auth workspaces switch로 고침.
“유효한 토큰인데 서버가 401” UI에서 토큰이 거둬짐. auth login을 다시 실행.
기업 프록시가 OAuth를 막음 auth login 전에 HTTPS_PROXY=http://your-proxy:port를 설정.