keenauth login으로 로그인하기

keenauth login은 대시보드 계정으로 로그인하므로 API 키를 만들지 않고도 터미널에서 환경을 관리할 수 있습니다. CI 작업이나 스크립트에서는 KEENAUTH_API_KEY에 API 키를 계속 사용하십시오(명령줄 인터페이스 참조).

명령

명령 기능
keenauth login 기기 흐름으로 로그인합니다. CLI가 주소와 코드를 출력하면, 어떤 기기에서든 해당 주소를 열고 대시보드에 로그인한 뒤 코드를 입력하십시오.
keenauth login --web 이 컴퓨터의 브라우저에서 로그인합니다. CLI가 로그인 페이지를 열고 http://127.0.0.1:<port>/callback(또는 http://[::1]:<port>/callback)에서 결과를 받습니다. 요청은 PKCE(S256), state, iss 매개변수로 보호됩니다.
keenauth whoami 로그인한 사용자, 조직, 선택된 환경을 표시합니다.
keenauth env use <environment_id> 이후 명령이 관리할 환경을 선택합니다. 컨트롤 플레인이 해당 환경에 대한 대시보드 역할이 있는지 확인합니다.
keenauth env list 컨트롤 플레인에서 작업할 수 있는 환경 목록을 표시합니다. env use로 선택한 환경에는 * 표시가 붙습니다.
keenauth logout 서버에서 세션을 취소하고 이 컴퓨터에서 세션을 삭제합니다.
keenauth login
keenauth env use env_01j9z3c0000000000000000000
keenauth users list

KEENAUTH_API_KEY가 설정되어 있으면 항상 우선 적용됩니다. 저장된 세션은 API 키가 설정되지 않은 경우에만 사용됩니다.

환경 목록 조회

keenauth env list는 로그인한 계정 중 대시보드 역할이 있는 환경의 목록을 컨트롤 플레인에 요청합니다(GET /v1/environments, CLI용 환경 목록 조회 참조). 이 명령에는 세션이 필요하며, 세션이 없으면 keenauth login을 실행하라는 메시지가 표시됩니다.

플래그 설명
--limit 페이지 크기입니다. 1에서 100 사이이며 기본값은 20입니다.
--after 이전 페이지에서 출력된 커서입니다(more results: --after <cursor>).
--all 모든 페이지를 순서대로 가져와 모든 환경을 표시합니다.
-o table|json|yaml 출력 형식입니다. 표에서는 선택된 환경에 *가 표시되며, JSON과 YAML에서는 해당 행에 current: true가 포함됩니다.

잘못되었거나 다른 곳에서 발급된 --after 커서는 거부됩니다(invalid_cursor). 이 경우 커서를 빼고 명령을 다시 실행하십시오.

세션 작동 방식

세션 저장 위치

항목 위치
발급자, 사용자 ID, 조직, DPoP 키 지문, 선택된 환경 KEENAUTH_CONFIG_DIR의 config.json, 또는 사용자 설정 디렉터리의 keenauth(권한 0600)
리프레시 토큰과 DPoP 개인 키 OS 키체인: macOS 키체인(security) 또는 Linux의 Secret Service(secret-tool)

비밀 값은 명령 인수가 아니라 표준 입력을 통해 키체인 도구에 전달됩니다. 키체인을 사용할 수 없으면(예: Windows 또는 Secret Service가 없는 Linux 서버), keenauth login은 오류와 함께 중단됩니다. 이 경우 --insecure-storage를 전달하면 리프레시 토큰과 DPoP 개인 키를 config.json 옆의 credentials.json(권한 0600)에 암호화하지 않고 저장할 수 있습니다. CLI는 경고를 출력합니다. 이 파일을 읽을 수 있는 사람은 세션이 만료될 때까지 사용자를 대신해 행동할 수 있습니다. 공유 기기에서는 API 키를 사용하는 것이 좋습니다.

설정

변수 기본값 설명
KEENAUTH_LOGIN_ISSUER https://login.keenauth.com 로그인 서버입니다. https 주소여야 합니다.
KEENAUTH_CONTROL_URL https://api.keenauth.com/v1 관리 토큰을 발급하는 컨트롤 플레인입니다. https 주소여야 합니다.
KEENAUTH_CONFIG_DIR 사용자 설정 디렉터리 + keenauth config.json(및 --insecure-storage 사용 시 credentials.json)을 보관하는 위치입니다.

오류

메시지 조치 방법
you are not signed in / your session has expired or was revoked keenauth login을 다시 실행하십시오. 종료 코드 3.
no environment is selected keenauth env use <environment_id>를 실행하십시오.
environment … does not exist or you have no dashboard role in it 대시보드에서 ID를 확인하거나 소유자에게 역할을 요청하십시오.
no OS keychain is available 키체인을 설치하거나, --insecure-storage를 사용하거나, API 키를 사용하십시오.