connectbase-client 3.26.0 → 3.27.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +32 -0
- package/dist/cli.js +5 -2
- package/dist/connect-base.umd.js +4 -4
- package/dist/index.d.mts +80 -2
- package/dist/index.d.ts +80 -2
- package/dist/index.js +52 -1
- package/dist/index.mjs +51 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,38 @@
|
|
|
3
3
|
본 SDK 의 모든 주요 변경사항을 [Keep a Changelog](https://keepachangelog.com/ko/1.1.0/) 형식으로 기록합니다.
|
|
4
4
|
버전은 [Semantic Versioning](https://semver.org/lang/ko/) 을 따릅니다.
|
|
5
5
|
|
|
6
|
+
## [3.27.0] - 2026-05-28
|
|
7
|
+
|
|
8
|
+
### Fixed — `signInAsGuestMember` 의 silent session overwrite 차단 + 게스트 식별 필드 노출 (platform-issue 019e6c5d)
|
|
9
|
+
|
|
10
|
+
같은 origin + 같은 publicKey 에서 OAuth 로그인이 활성인 채 다른 페이지/탭/콘솔에서
|
|
11
|
+
`cb.auth.signInAsGuestMember()` 가 호출되면, 게스트 토큰이 메인 토큰 슬롯
|
|
12
|
+
(`cb_auth_tokens_<hash>`) 을 silent 로 덮어써 사용자가 자동 생성된 게스트로 둔갑되던
|
|
13
|
+
회귀(sisun 운영 보고, 2026-05-28). 클라이언트는 둔갑 사실을 결정적으로 식별할
|
|
14
|
+
신호가 없어 닉네임 휴리스틱이나 SDK 내부 storage key 컨벤션에 결합된 비공식 우회에
|
|
15
|
+
의존해야 했다.
|
|
16
|
+
|
|
17
|
+
- **`api/auth.ts` — `signInAsGuestMember(opts?)`** — 활성 비-게스트 세션이 감지되면
|
|
18
|
+
새 `GuestSessionConflictError` 를 던지고 진행을 거부한다. 명시적으로 교체하려면
|
|
19
|
+
`{ allowOverrideExistingSession: true }` 옵션을 전달해야 한다. 활성 게스트 토큰을
|
|
20
|
+
그대로 재사용하는 정상 경로는 그대로 통과한다.
|
|
21
|
+
- **`types/error.ts` — `GuestSessionConflictError`** 신규 export. `code = 'GUEST_SESSION_CONFLICT'`.
|
|
22
|
+
index 에서도 re-export.
|
|
23
|
+
- **`types/auth.ts` — `MemberInfoResponse`** 에 `is_guest?: boolean` + `auth_provider?: string`
|
|
24
|
+
추가. `auth_provider` 값은 `'guest' | 'email' | 'username' | 'oauth_<provider>'` 컨벤션.
|
|
25
|
+
- **백엔드 동반 변경** — `core-server` 의 `GET /v1/public/app-members/me` 응답에 동일
|
|
26
|
+
필드가 같은 의미로 추가된다 (`appmember.Edges.Identities` 우선순위 OAuth > email >
|
|
27
|
+
username > guest).
|
|
28
|
+
- **회귀 가드 테스트** — `test/signin-as-guest-session-guard.test.ts` (5 케이스).
|
|
29
|
+
|
|
30
|
+
#### Behavior change 영향
|
|
31
|
+
|
|
32
|
+
- 가드는 default-on. 활성 OAuth/email 세션 위에서 옵션 없이 `signInAsGuestMember()`
|
|
33
|
+
를 호출하던 코드는 이제 throw 된다. RLS 우회용 cron 처럼 의도적으로 게스트를
|
|
34
|
+
강제 갱신해야 하는 경우 `{ allowOverrideExistingSession: true }` 를 명시할 것.
|
|
35
|
+
- 응답 필드 추가만 있는 변경이므로 `getMe()` 호출자는 영향 없음. `is_guest` 를
|
|
36
|
+
활용하면 SDK 내부 storage key 컨벤션에 결합된 비공식 휴리스틱을 제거할 수 있다.
|
|
37
|
+
|
|
6
38
|
## [3.26.0] - 2026-05-28
|
|
7
39
|
|
|
8
40
|
### Security — LLM provider API key 클라이언트 하드코딩 금지 명시화
|
package/dist/cli.js
CHANGED
|
@@ -32,6 +32,7 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
32
32
|
var cli_exports = {};
|
|
33
33
|
__export(cli_exports, {
|
|
34
34
|
computeDeployDiff: () => computeDeployDiff,
|
|
35
|
+
makeRequest: () => makeRequest,
|
|
35
36
|
normalizeRelativePath: () => normalizeRelativePath,
|
|
36
37
|
parseArgs: () => parseArgs,
|
|
37
38
|
registerEndpointBinding: () => registerEndpointBinding,
|
|
@@ -301,9 +302,10 @@ async function makeRequest(url, method, headers, body, reqOpts = {}) {
|
|
|
301
302
|
}
|
|
302
303
|
};
|
|
303
304
|
const req = lib.request(options, (res) => {
|
|
304
|
-
|
|
305
|
-
res.on("data", (chunk) =>
|
|
305
|
+
const chunks = [];
|
|
306
|
+
res.on("data", (chunk) => chunks.push(chunk));
|
|
306
307
|
res.on("end", () => {
|
|
308
|
+
const data = Buffer.concat(chunks).toString("utf8");
|
|
307
309
|
try {
|
|
308
310
|
resolve2({
|
|
309
311
|
status: res.statusCode || 0,
|
|
@@ -2560,6 +2562,7 @@ main().catch((err) => {
|
|
|
2560
2562
|
// Annotate the CommonJS export names for ESM import in node:
|
|
2561
2563
|
0 && (module.exports = {
|
|
2562
2564
|
computeDeployDiff,
|
|
2565
|
+
makeRequest,
|
|
2563
2566
|
normalizeRelativePath,
|
|
2564
2567
|
parseArgs,
|
|
2565
2568
|
registerEndpointBinding,
|