suya auth
suya auth는 CLI가 Subaya API에 대해 인증하는 방식을 관리합니다. 두 가지 자격
증명 모드에 대한 개념적 개요는
인증 및 API 키를 참조하십시오.
suya auth login
섹션 제목: “suya auth login”OAuth 브라우저 흐름으로 대화형으로 로그인합니다.
suya auth loginsuya auth login --no-browser| Flag | Description |
|---|---|
--no-browser |
브라우저를 실행하지 않습니다. 어떤 기기에서든 승인할 수 있는 짧은 코드를 출력합니다(아래의 디바이스 흐름). |
기본적으로 CLI는 루프백 리디렉션을 사용해 브라우저를 열고 그 결과로 발급된
토큰을 로컬에 저장합니다. 이는 브라우저가 CLI와 같은 머신에 있을 때 가장 빠른
경로입니다 — 리디렉션 대상이 127.0.0.1이므로 같은 머신이어야만 합니다.
브라우저를 열 수 없거나 리디렉션이 끝내 돌아오지 않으면(보통 브라우저가 다른 곳에 있다는 신호입니다 — SSH, 컨테이너, 원격 개발 머신), CLI는 자동으로 디바이스 흐름으로 전환합니다. 아무것도 다시 시작할 필요가 없습니다.
에이전트와 CI의 경우, 로그인하는 대신 SUBAYA_API_KEY를 설정하는 것이 좋습니다 —
브라우저가 전혀 관여하지 않습니다.
브라우저 없이 로그인하기 (디바이스 흐름)
섹션 제목: “브라우저 없이 로그인하기 (디바이스 흐름)”suya를 실행하는 머신에 자체 브라우저가 없을 때 사용하십시오: SSH 접속, 컨테이너
내부, 원격 빌드 머신.
suya auth login --no-browserCLI는 코드 하나와 링크 두 개를 출력한 뒤 대기합니다:
Open this link on any device: https://subaya-dev.com/auth/device?user_code=KHTM-BQWD Or go to https://subaya-dev.com/auth/device and enter: KHTM-BQWD
Waiting for approval... (Ctrl-C to cancel)브라우저가 있는 아무 기기에서나 — 노트북이든 휴대폰이든 — 해당 페이지를 여십시오. 아직 로그인하지 않았다면 로그인한 다음, 화면에 표시된 코드가 터미널의 코드와 일치하는지 확인하고 승인하십시오. 페이지에는 요청을 보낸 머신이 표시되므로 본인이 시작한 로그인인지, 시작하지 않은 로그인인지 구분할 수 있습니다. CLI는 몇 초 안에 이를 감지하여 토큰을 저장하고 로그인된 계정을 출력합니다.
터미널에 무언가를 다시 입력하는 일은 전혀 없으므로, 셸에서와 마찬가지로 스크립트나 에이전트에서도 동작합니다.
참고 사항:
- 코드는 10분 동안 유효하며 한 번만 사용할 수 있습니다. 만료되면 명령을 다시 실행하여 새 코드를 받으십시오.
- 승인은 CLI에 현재 활성 조직에서의 본인 자격으로 접근 권한을 부여합니다.
다른 조직으로 로그인하려면 먼저 콘솔에서 조직을 전환한 다음
suya auth login을 다시 실행하십시오. - 본인이 시작한 로그인이 아니라면 **거부(Deny)**를 클릭하십시오 — 토큰은 발급되지 않습니다.
suya auth logout
섹션 제목: “suya auth logout”로그아웃하고 로컬에 저장된 토큰을 폐기합니다.
suya auth logoutsuya auth status
섹션 제목: “suya auth status”로컬 인증 상태를 표시합니다. 이 명령은 서버를 호출하지 않으며 — CLI가 디스크에 보유한 자격 증명을 보고합니다.
suya auth statussuya auth whoami
섹션 제목: “suya auth whoami”서버(/api/auth/cli/whoami)를 호출하여 현재 자격 증명이 인식하는 신원을
출력합니다. 이 명령은 두 가지 자격 증명 종류 모두에서 동작합니다: suya auth login으로 발급받은 토큰과 SUBAYA_API_KEY 모두입니다. 키를 CI에 넘기기 전에
올바르게 연결되었는지 확인할 때 사용하십시오.
export SUBAYA_API_KEY="sk_live_..."suya auth whoami자격 증명이 거부되면 whoami는 단순히 실패하는 대신 그 이유를 알려줍니다:
| 이유 | 의미 |
|---|---|
unknown_key |
API 키를 인식할 수 없습니다 — 폐기되었거나, 만료되었거나, 애초에 존재한 적이 없습니다. 콘솔의 Settings → API keys에서 새 키를 발급하십시오. |
wrong_environment |
키 형식은 올바르지만 다른 환경에 속한 키입니다(아래 참조). 오류 메시지에 올바른 키를 발급할 위치가 함께 표시됩니다. |
unknown_token |
로그인 토큰이 만료되었거나 폐기되었습니다. suya auth login을 다시 실행하십시오. |
no_credential |
자격 증명이 전혀 제시되지 않았습니다. SUBAYA_API_KEY를 설정하거나 suya auth login을 실행하십시오. |
키는 환경마다 구분됩니다
섹션 제목: “키는 환경마다 구분됩니다”API 키는 접두사에 자신이 속한 환경을 담고 있으며, 키는 발급된 환경의 호스트에 대해서만 유효합니다:
sk_live_…— 프로덕션 API(https://subaya-dev.com),--host의 기본값입니다.sk_test_…— 프로덕션이 아닌 환경을 위해 예약되어 있습니다.
sk_test_ 키를 프로덕션 호스트로 보내면 일반적인 “잘못된 키”가 아니라
wrong_environment로 거부됩니다 — 따라서 이 오류가 보인다면 폐기된 키를 찾아
헤맬 것이 아니라 올바른 종류의 키를 발급하는 것이 해결책입니다. 키는 호출하려는
환경의 콘솔에서 Settings → API keys 아래에서 발급하십시오.