메인 콘텐츠로 건너뛰기
SDK는 서버 사이드 자격증명 두 가지를 씁니다. 대개 둘 다 필요합니다. flows.run과 feedback은 트리거 시크릿으로, 나머지는 PAT로 인증합니다.

클라이언트 초기화

전체 ClientOptions 레퍼런스(baseUrl · 재시도 · 로깅 · 커스텀 fetch · 커스텀 트리거 헤더)는 다음 페이지: 클라이언트 옵션.

자격증명은 어디서 오나

트리거 시크릿

Flow의 Trigger 블록에서 발급합니다. 앱에서 (Trigger → Generate secret) 또는 CLI로:
평문이 stdout에 딱 한 번 뜹니다. 즉시 시크릿 매니저에 저장하세요. 다시 보여 주는 경로는 없습니다. 잃어버리면 다시 발급해야 합니다. Flow마다 자기 시크릿이 있습니다. 시크릿 하나가 새면 그 Flow 하나만 손상됩니다.

Personal Access Token (PAT)

앱의 Settings → Personal Access Tokens에서 발급합니다. 만들 때 필요한 스코프만 정확히 체크합니다. 토큰은 체크한 스코프의 합집합을 갖습니다. 토큰은 한 번만 표시됩니다. 시크릿 매니저에 저장하고 env var로 참조하세요.

PAT 스코프 (강제됨)

스코프는 서버가 엄격히 강제합니다. read 토큰으로는 승인할 수 없고, simulate 토큰으로는 memory에 쓸 수 없습니다. approve와 simulate는 read와 분리되어 있어, 새어도 배포나 지출은 못 합니다.

최소 권한 조합

읽기 전용 통합 (대시보드, “이 답은 왜” 패널):
개선 큐 임베드 (관리자에게 fix 노출):
on-demand 시뮬 포함 전체 루프:
콘텐츠 쓰기 (앱 코드에서 업로드 · 메모리 쓰기):
역할별로 토큰을 분리 발급하세요. 그러면 토큰 하나를 회수해도 한 경로만 영향 받습니다.

환경 변수 오버라이드

SDK가 자동으로 읽는 표준 env var:
  • NORA_PAT createClient 호출에 token을 안 넘기면 여기서 읽음.
  • NORA_TRIGGER_SECRET triggerSecret도 마찬가지.
  • NORA_BASE_URL baseUrl 오버라이드 (기본: https://platform.nora.my/api/v1).
  • NORA_TENANT tenant를 안 넘기면 여기서 읽음.
로컬 .env는 자동 로드하지 않습니다. dotenv나 프레임워크 env 로더를 쓰세요.

다음

  • 클라이언트 옵션 전체 옵션 (timeout · retries · logger · custom fetch · trigger header override).
  • 실행 Flow 호출 시작.
  • 에러 인증 실패가 어떻게 드러나는지, 무엇을 잡아야 하는지.