One Server

문서

키 세 종류

공개 키·비밀 키·접근 토큰의 쓰임과, 어느 것을 브라우저에 두면 안 되는지.

키 세 종류

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: <공개 키>