키 세 종류
공개 키·비밀 키·접근 토큰의 쓰임과, 어느 것을 브라우저에 두면 안 되는지.
키 세 종류
get_project_keys가 셋을 줘요. 쓰임이 다르고, 잘못 두면 사고가 나요.
| 키 | 어디에 | 무엇을 |
|---|---|---|
| 공개 키 (publishable) | 브라우저·앱에 넣어도 됨 | 접근 규칙이 허용하는 것만 |
| 비밀 키 (secret) | 서버에만 | 접근 규칙을 전부 우회 |
| 접근 토큰 (PAT) | 이 MCP 서버와 관리 API | 프로젝트를 만들고 지움 |
용도별 키
get_project_keys의 두 키는 하나로 묶여 있어서, 하나가 새면 둘 다 바꿔야 해요.
서버마다·앱마다 따로 쓰려면 create_api_key로 이름 붙은 키를 만드세요.
bw_publishable_…는 공개 키, bw_secret_…는 비밀 키와 같은 권한이에요.
list_api_keys가 마지막으로 쓴 시각을 보여 주니, 안 쓰는 키는 revoke_api_key로 하나씩 폐기하세요.
키가 샜을 때
get_jwt_signing 서명 방식(HS256 | ES256)과 아직 받아 주는 예전 키
rotate_signing_key 공개 키·비밀 키를 서명하는 키를 새로 (grace_hours: 0, 1, 24, 168)
retire_signing_key 유예 중인 예전 키를 지금 끝내기
set_jwt_signing 로그인 토큰을 ES256으로 (다른 서버가 공개 키로 확인)rotate_signing_key는 get_project_keys의 두 키를 모두 바꿔요. 앱에 넣은 키를 전부 옮겨야 하니
샜을 때는 grace_hours: 0, 계획된 교체라면 옮길 시간만큼 유예를 두세요. 소유자·관리자만 할 수 있어요.
grace_hours: 0(또는 비움)이면 confirm에 프로젝트 이름을 그대로 넣어야 해요.
프런트엔드 코드에 넣을 값만 필요하면 get_project_keys { ref, only: "publishable" }로 주소와 공개 키만 받으세요.
절대 하지 말 것
비밀 키를 브라우저 코드·모바일 앱·공개 저장소에 넣지 마세요. 그 키는 모든 표를 규칙 없이 읽고 써요. 프런트엔드에 넣는 키는 언제나 공개 키예요.
주소
프로젝트 API는 https://<ref>.<zone> 이에요. get_project_keys가 함께 알려줘요.
GET https://<ref>.<zone>/rest/v1/notes?select=* apikey: <공개 키>
POST https://<ref>.<zone>/auth/v1/signup apikey: <공개 키>