@gosso/client 0.1.0 → 0.2.0
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 +5 -0
- package/dist/index.d.ts +13 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +121 -31
- package/dist/index.js.map +1 -1
- package/package.json +2 -1
package/CHANGELOG.md
CHANGED
|
@@ -6,6 +6,11 @@ The format is based on Keep a Changelog, and this project follows Semantic Versi
|
|
|
6
6
|
|
|
7
7
|
## [Unreleased]
|
|
8
8
|
|
|
9
|
+
## [0.2.0] - 2026-08-12
|
|
10
|
+
### Added
|
|
11
|
+
- Add opt-in `sessionMode: "cookie"` for HttpOnly Cookie-backed SPA sessions. It keeps access and refresh tokens out of JavaScript-accessible storage while preserving PKCE, MFA, passkeys and account-management APIs.
|
|
12
|
+
- Add `sessionProfileEndpoint` for same-origin applications to obtain minimal UI authorization claims without decoding a bearer token.
|
|
13
|
+
|
|
9
14
|
## [0.1.0] - 2026-06-29
|
|
10
15
|
### Added
|
|
11
16
|
- Initial `@gosso/client` browser SDK for Gosso ordinary SPA clients.
|
package/dist/index.d.ts
CHANGED
|
@@ -6,6 +6,12 @@ export interface GossoClientConfig {
|
|
|
6
6
|
postLoginDefaultPath: string;
|
|
7
7
|
loginPath: string;
|
|
8
8
|
storagePrefix: string;
|
|
9
|
+
/** Use HttpOnly Gosso cookies instead of exposing tokens to JavaScript. */
|
|
10
|
+
sessionMode?: 'token' | 'cookie';
|
|
11
|
+
/** Same-origin endpoint returning {data:{sub,roles,scope}} for UI authorization. */
|
|
12
|
+
sessionProfileEndpoint?: string;
|
|
13
|
+
/** CSRF cookie used by same-origin application API requests in cookie session mode. */
|
|
14
|
+
csrfCookieName?: string;
|
|
9
15
|
fetchImpl?: typeof fetch;
|
|
10
16
|
onAuthRequired?: () => void;
|
|
11
17
|
onSessionChanged?: (snapshot: SessionSnapshot) => void;
|
|
@@ -59,6 +65,7 @@ export interface PasskeyInfo {
|
|
|
59
65
|
name: string;
|
|
60
66
|
created_at?: string;
|
|
61
67
|
}
|
|
68
|
+
export declare function generateRandomString(length: number): string;
|
|
62
69
|
export declare function bufferToBase64URL(buffer: ArrayBuffer): string;
|
|
63
70
|
export declare function base64URLToBuffer(base64URLString: string): ArrayBuffer;
|
|
64
71
|
export declare function createGossoClient(inputConfig: GossoClientConfig): {
|
|
@@ -70,6 +77,12 @@ export declare function createGossoClient(inputConfig: GossoClientConfig): {
|
|
|
70
77
|
postLoginDefaultPath: string;
|
|
71
78
|
loginPath: string;
|
|
72
79
|
storagePrefix: string;
|
|
80
|
+
/** Use HttpOnly Gosso cookies instead of exposing tokens to JavaScript. */
|
|
81
|
+
sessionMode?: "token" | "cookie";
|
|
82
|
+
/** Same-origin endpoint returning {data:{sub,roles,scope}} for UI authorization. */
|
|
83
|
+
sessionProfileEndpoint?: string;
|
|
84
|
+
/** CSRF cookie used by same-origin application API requests in cookie session mode. */
|
|
85
|
+
csrfCookieName?: string;
|
|
73
86
|
fetchImpl?: typeof fetch;
|
|
74
87
|
onAuthRequired?: () => void;
|
|
75
88
|
onSessionChanged?: (snapshot: SessionSnapshot) => void;
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,oBAAoB,EAAE,MAAM,CAAC;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;IAC5B,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,eAAe,KAAK,IAAI,CAAC;CACxD;AAED,MAAM,WAAW,aAAa;IAC5B,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,eAAe;IAC9B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,OAAO,EAAE,WAAW,GAAG,IAAI,CAAC;IAC5B,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,WAAW;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -11,11 +11,22 @@ const defaultConfig = {
|
|
|
11
11
|
function normalizeBaseUrl(url) {
|
|
12
12
|
return url.replace(/\/+$/, '');
|
|
13
13
|
}
|
|
14
|
-
function generateRandomString(length) {
|
|
14
|
+
export function generateRandomString(length) {
|
|
15
15
|
const possible = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-._~';
|
|
16
16
|
let text = '';
|
|
17
|
-
|
|
18
|
-
|
|
17
|
+
const cryptoObj = (typeof window !== 'undefined' ? window.crypto : null) || (typeof globalThis !== 'undefined' ? globalThis.crypto : null);
|
|
18
|
+
if (cryptoObj && cryptoObj.getRandomValues) {
|
|
19
|
+
const array = new Uint8Array(length);
|
|
20
|
+
cryptoObj.getRandomValues(array);
|
|
21
|
+
for (let i = 0; i < length; i += 1) {
|
|
22
|
+
text += possible.charAt(array[i] % possible.length);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
else {
|
|
26
|
+
// Fallback for environments lacking CSPRNG
|
|
27
|
+
for (let i = 0; i < length; i += 1) {
|
|
28
|
+
text += possible.charAt(Math.floor(Math.random() * possible.length));
|
|
29
|
+
}
|
|
19
30
|
}
|
|
20
31
|
return text;
|
|
21
32
|
}
|
|
@@ -25,7 +36,18 @@ async function generateCodeChallenge(verifier) {
|
|
|
25
36
|
return bufferToBase64URL(digest);
|
|
26
37
|
}
|
|
27
38
|
function cookieSecureAttribute() {
|
|
28
|
-
return location.protocol === 'https:' ? '; Secure' : '';
|
|
39
|
+
return typeof location !== 'undefined' && location.protocol === 'https:' ? '; Secure' : '';
|
|
40
|
+
}
|
|
41
|
+
function getCookieName(baseName) {
|
|
42
|
+
return typeof location !== 'undefined' && location.protocol === 'https:' ? `__Secure-${baseName}` : baseName;
|
|
43
|
+
}
|
|
44
|
+
function readCSRFToken(preferredName) {
|
|
45
|
+
for (const raw of document.cookie.split(';')) {
|
|
46
|
+
const [name, ...value] = raw.trim().split('=');
|
|
47
|
+
if (name === preferredName || name === '__Host-csrf_token' || name === 'csrf_token' || name === 'blog_csrf_token')
|
|
48
|
+
return decodeURIComponent(value.join('='));
|
|
49
|
+
}
|
|
50
|
+
return null;
|
|
29
51
|
}
|
|
30
52
|
function readClaimsFromAccessToken(accessToken) {
|
|
31
53
|
try {
|
|
@@ -102,6 +124,8 @@ export function createGossoClient(inputConfig) {
|
|
|
102
124
|
...inputConfig,
|
|
103
125
|
issuer: normalizeBaseUrl(inputConfig.issuer),
|
|
104
126
|
};
|
|
127
|
+
const cookieSession = config.sessionMode === 'cookie';
|
|
128
|
+
const flowStorage = cookieSession ? sessionStorage : localStorage;
|
|
105
129
|
const fetcher = config.fetchImpl || fetch.bind(window);
|
|
106
130
|
const key = (name) => `${config.storagePrefix}:${name}`;
|
|
107
131
|
const storageKeys = {
|
|
@@ -117,13 +141,16 @@ export function createGossoClient(inputConfig) {
|
|
|
117
141
|
};
|
|
118
142
|
let refreshPromise = null;
|
|
119
143
|
const setCookie = (name, value, maxAgeSeconds) => {
|
|
120
|
-
|
|
144
|
+
const cookieName = getCookieName(name);
|
|
145
|
+
document.cookie = `${cookieName}=${value}; path=/; max-age=${maxAgeSeconds}; SameSite=Lax${cookieSecureAttribute()}`;
|
|
121
146
|
};
|
|
122
147
|
const deleteCookie = (name) => {
|
|
123
|
-
|
|
148
|
+
const cookieName = getCookieName(name);
|
|
149
|
+
document.cookie = `${cookieName}=; path=/; max-age=-1; SameSite=Lax`;
|
|
124
150
|
};
|
|
125
151
|
const readProfile = () => {
|
|
126
|
-
const
|
|
152
|
+
const storage = cookieSession ? sessionStorage : localStorage;
|
|
153
|
+
const profile = storage.getItem(storageKeys.userProfile);
|
|
127
154
|
if (!profile)
|
|
128
155
|
return null;
|
|
129
156
|
try {
|
|
@@ -133,8 +160,8 @@ export function createGossoClient(inputConfig) {
|
|
|
133
160
|
return null;
|
|
134
161
|
}
|
|
135
162
|
};
|
|
136
|
-
const getAccessToken = () => localStorage.getItem(storageKeys.accessToken);
|
|
137
|
-
const getRefreshToken = () => localStorage.getItem(storageKeys.refreshToken);
|
|
163
|
+
const getAccessToken = () => cookieSession ? null : localStorage.getItem(storageKeys.accessToken);
|
|
164
|
+
const getRefreshToken = () => cookieSession ? null : localStorage.getItem(storageKeys.refreshToken);
|
|
138
165
|
const getSnapshot = () => {
|
|
139
166
|
const accessToken = getAccessToken();
|
|
140
167
|
const refreshToken = getRefreshToken();
|
|
@@ -143,7 +170,7 @@ export function createGossoClient(inputConfig) {
|
|
|
143
170
|
accessToken,
|
|
144
171
|
refreshToken,
|
|
145
172
|
profile,
|
|
146
|
-
loggedIn: Boolean(accessToken),
|
|
173
|
+
loggedIn: cookieSession ? Boolean(profile) : Boolean(accessToken),
|
|
147
174
|
isAdmin: hasAdminAccess(profile, accessToken),
|
|
148
175
|
};
|
|
149
176
|
};
|
|
@@ -151,6 +178,10 @@ export function createGossoClient(inputConfig) {
|
|
|
151
178
|
config.onSessionChanged?.(getSnapshot());
|
|
152
179
|
};
|
|
153
180
|
const saveTokenSet = (data) => {
|
|
181
|
+
if (cookieSession) {
|
|
182
|
+
emitSessionChanged();
|
|
183
|
+
return;
|
|
184
|
+
}
|
|
154
185
|
localStorage.setItem(storageKeys.accessToken, data.access_token);
|
|
155
186
|
if (data.refresh_token) {
|
|
156
187
|
localStorage.setItem(storageKeys.refreshToken, data.refresh_token);
|
|
@@ -162,6 +193,7 @@ export function createGossoClient(inputConfig) {
|
|
|
162
193
|
};
|
|
163
194
|
const clear = () => {
|
|
164
195
|
Object.values(storageKeys).forEach((storageKey) => localStorage.removeItem(storageKey));
|
|
196
|
+
Object.values(storageKeys).forEach((storageKey) => sessionStorage.removeItem(storageKey));
|
|
165
197
|
deleteCookie('access_token');
|
|
166
198
|
emitSessionChanged();
|
|
167
199
|
};
|
|
@@ -281,6 +313,20 @@ export function createGossoClient(inputConfig) {
|
|
|
281
313
|
return refreshPromise;
|
|
282
314
|
};
|
|
283
315
|
const fetchUserProfile = async (accessToken = getAccessToken()) => {
|
|
316
|
+
if (cookieSession) {
|
|
317
|
+
const [identity, session] = await Promise.all([
|
|
318
|
+
fetcher(`${config.issuer}/oidc/userinfo`, { credentials: 'same-origin' }),
|
|
319
|
+
config.sessionProfileEndpoint ? fetcher(config.sessionProfileEndpoint, { credentials: 'same-origin' }) : Promise.resolve(null),
|
|
320
|
+
]);
|
|
321
|
+
if (!identity.ok || (session && !session.ok))
|
|
322
|
+
throw new Error('Failed to fetch user profile');
|
|
323
|
+
const data = await identity.json();
|
|
324
|
+
if (session)
|
|
325
|
+
Object.assign(data, (await session.json()).data || {});
|
|
326
|
+
sessionStorage.setItem(storageKeys.userProfile, JSON.stringify(data));
|
|
327
|
+
emitSessionChanged();
|
|
328
|
+
return data;
|
|
329
|
+
}
|
|
284
330
|
if (!accessToken)
|
|
285
331
|
throw new Error('No access token found');
|
|
286
332
|
const response = await fetcher(`${config.issuer}/oidc/userinfo`, {
|
|
@@ -300,6 +346,29 @@ export function createGossoClient(inputConfig) {
|
|
|
300
346
|
return data;
|
|
301
347
|
};
|
|
302
348
|
const apiFetch = async (url, options = {}) => {
|
|
349
|
+
if (cookieSession) {
|
|
350
|
+
const headers = new Headers(options.headers || {});
|
|
351
|
+
const issuerRequest = url.startsWith(`${config.issuer}/`);
|
|
352
|
+
if (!['GET', 'HEAD', 'OPTIONS'].includes((options.method || 'GET').toUpperCase()) && !headers.has('X-CSRF-Token')) {
|
|
353
|
+
const csrf = readCSRFToken(issuerRequest ? undefined : config.csrfCookieName);
|
|
354
|
+
if (csrf)
|
|
355
|
+
headers.set('X-CSRF-Token', csrf);
|
|
356
|
+
}
|
|
357
|
+
let response = await fetcher(url, { ...options, headers, credentials: 'same-origin' });
|
|
358
|
+
if (response.status === 401 && !issuerRequest) {
|
|
359
|
+
const csrf = readCSRFToken();
|
|
360
|
+
const refreshResponse = await fetcher(`${config.issuer}/api/v1/auth/refresh`, {
|
|
361
|
+
method: 'POST',
|
|
362
|
+
headers: csrf ? { 'X-CSRF-Token': csrf, 'X-Gosso-Cookie-Session': '1' } : { 'X-Gosso-Cookie-Session': '1' },
|
|
363
|
+
credentials: 'same-origin',
|
|
364
|
+
});
|
|
365
|
+
if (refreshResponse.ok)
|
|
366
|
+
response = await fetcher(url, { ...options, headers, credentials: 'same-origin' });
|
|
367
|
+
}
|
|
368
|
+
if (response.status === 401)
|
|
369
|
+
clear();
|
|
370
|
+
return response;
|
|
371
|
+
}
|
|
303
372
|
let token = getAccessToken();
|
|
304
373
|
if (!token) {
|
|
305
374
|
redirectToLogin();
|
|
@@ -338,10 +407,10 @@ export function createGossoClient(inputConfig) {
|
|
|
338
407
|
const redirectToAuthorize = async (customRedirectUri) => {
|
|
339
408
|
const verifier = generateRandomString(64);
|
|
340
409
|
const state = generateRandomString(16);
|
|
341
|
-
|
|
342
|
-
|
|
410
|
+
flowStorage.setItem(storageKeys.pkceVerifier, verifier);
|
|
411
|
+
flowStorage.setItem(storageKeys.authState, state);
|
|
343
412
|
if (customRedirectUri) {
|
|
344
|
-
|
|
413
|
+
flowStorage.setItem(storageKeys.postLoginRedirect, customRedirectUri);
|
|
345
414
|
}
|
|
346
415
|
const challenge = await generateCodeChallenge(verifier);
|
|
347
416
|
const authUrl = new URL(`${config.issuer}/oauth2/authorize`);
|
|
@@ -355,8 +424,8 @@ export function createGossoClient(inputConfig) {
|
|
|
355
424
|
window.location.href = authUrl.toString();
|
|
356
425
|
};
|
|
357
426
|
const exchangeCodeForToken = async (code, state) => {
|
|
358
|
-
const savedState =
|
|
359
|
-
const verifier =
|
|
427
|
+
const savedState = flowStorage.getItem(storageKeys.authState);
|
|
428
|
+
const verifier = flowStorage.getItem(storageKeys.pkceVerifier);
|
|
360
429
|
if (state !== savedState)
|
|
361
430
|
throw new Error('State mismatch. Potential CSRF attack.');
|
|
362
431
|
if (!verifier)
|
|
@@ -369,26 +438,39 @@ export function createGossoClient(inputConfig) {
|
|
|
369
438
|
body.append('redirect_uri', config.redirectUri);
|
|
370
439
|
const response = await fetcher(`${config.issuer}/oauth2/token`, {
|
|
371
440
|
method: 'POST',
|
|
372
|
-
headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
|
|
441
|
+
headers: { 'Content-Type': 'application/x-www-form-urlencoded', ...(cookieSession ? { 'X-Gosso-Cookie-Session': '1' } : {}) },
|
|
373
442
|
body: body.toString(),
|
|
443
|
+
credentials: 'same-origin',
|
|
374
444
|
});
|
|
375
445
|
if (!response.ok) {
|
|
376
446
|
throw new Error(`Token exchange failed: ${await response.text()}`);
|
|
377
447
|
}
|
|
378
448
|
const data = (await response.json());
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
449
|
+
if (!cookieSession)
|
|
450
|
+
saveTokenSet(data);
|
|
451
|
+
flowStorage.removeItem(storageKeys.pkceVerifier);
|
|
452
|
+
flowStorage.removeItem(storageKeys.authState);
|
|
382
453
|
return data;
|
|
383
454
|
};
|
|
384
455
|
const handleRedirectCallback = async (code, state) => {
|
|
385
456
|
const tokenSet = await exchangeCodeForToken(code, state);
|
|
386
|
-
await fetchUserProfile(tokenSet.access_token);
|
|
387
|
-
const redirectTo =
|
|
388
|
-
|
|
457
|
+
await fetchUserProfile(cookieSession ? undefined : tokenSet.access_token);
|
|
458
|
+
const redirectTo = flowStorage.getItem(storageKeys.postLoginRedirect) || config.postLoginDefaultPath;
|
|
459
|
+
flowStorage.removeItem(storageKeys.postLoginRedirect);
|
|
389
460
|
return { tokenSet, redirectTo };
|
|
390
461
|
};
|
|
391
462
|
const logout = async (redirectTo = '/') => {
|
|
463
|
+
if (cookieSession) {
|
|
464
|
+
const csrf = readCSRFToken();
|
|
465
|
+
try {
|
|
466
|
+
await fetcher(`${config.issuer}/api/v1/auth/logout`, { method: 'POST', headers: csrf ? { 'X-CSRF-Token': csrf } : {}, credentials: 'same-origin', keepalive: true });
|
|
467
|
+
}
|
|
468
|
+
finally {
|
|
469
|
+
clear();
|
|
470
|
+
window.location.href = redirectTo;
|
|
471
|
+
}
|
|
472
|
+
return;
|
|
473
|
+
}
|
|
392
474
|
const accessToken = getAccessToken();
|
|
393
475
|
try {
|
|
394
476
|
if (accessToken) {
|
|
@@ -408,25 +490,31 @@ export function createGossoClient(inputConfig) {
|
|
|
408
490
|
const loginWithPassword = async (username, password) => {
|
|
409
491
|
const response = await fetcher(`${config.issuer}/api/v1/auth/login`, {
|
|
410
492
|
method: 'POST',
|
|
411
|
-
headers: { 'Content-Type': 'application/json' },
|
|
493
|
+
headers: { 'Content-Type': 'application/json', ...(cookieSession ? { 'X-Gosso-Cookie-Session': '1' } : {}) },
|
|
412
494
|
body: JSON.stringify({ username, password }),
|
|
495
|
+
credentials: 'same-origin',
|
|
413
496
|
});
|
|
414
497
|
const result = await parseJsonEnvelope(response, 'Login failed');
|
|
415
|
-
if (result.access_token) {
|
|
498
|
+
if (!cookieSession && result.access_token) {
|
|
416
499
|
saveTokenSet(result);
|
|
417
500
|
await fetchUserProfile(result.access_token);
|
|
418
501
|
}
|
|
502
|
+
else if (cookieSession && !result.requires_mfa) {
|
|
503
|
+
await fetchUserProfile();
|
|
504
|
+
}
|
|
419
505
|
return result;
|
|
420
506
|
};
|
|
421
507
|
const verifyMfa = async (mfaToken, code, type = 'totp') => {
|
|
422
508
|
const response = await fetcher(`${config.issuer}/api/v1/auth/mfa/verify`, {
|
|
423
509
|
method: 'POST',
|
|
424
|
-
headers: { 'Content-Type': 'application/json' },
|
|
510
|
+
headers: { 'Content-Type': 'application/json', ...(cookieSession ? { 'X-Gosso-Cookie-Session': '1' } : {}) },
|
|
425
511
|
body: JSON.stringify({ mfa_token: mfaToken, code, type }),
|
|
512
|
+
credentials: 'same-origin',
|
|
426
513
|
});
|
|
427
514
|
const data = await parseJsonEnvelope(response, 'MFA verification failed');
|
|
428
|
-
|
|
429
|
-
|
|
515
|
+
if (!cookieSession)
|
|
516
|
+
saveTokenSet(data);
|
|
517
|
+
await fetchUserProfile(cookieSession ? undefined : data.access_token);
|
|
430
518
|
return data;
|
|
431
519
|
};
|
|
432
520
|
const loginWithPasskey = async () => {
|
|
@@ -434,6 +522,7 @@ export function createGossoClient(inputConfig) {
|
|
|
434
522
|
method: 'POST',
|
|
435
523
|
headers: { 'Content-Type': 'application/json' },
|
|
436
524
|
body: JSON.stringify({}),
|
|
525
|
+
credentials: 'same-origin',
|
|
437
526
|
});
|
|
438
527
|
const begin = await parseJsonEnvelope(beginRes, 'Failed to begin passkey login');
|
|
439
528
|
const options = {
|
|
@@ -450,7 +539,7 @@ export function createGossoClient(inputConfig) {
|
|
|
450
539
|
const assertionResponse = assertion.response;
|
|
451
540
|
const completeRes = await fetcher(`${config.issuer}/api/v1/passkey/login/complete`, {
|
|
452
541
|
method: 'POST',
|
|
453
|
-
headers: { 'Content-Type': 'application/json' },
|
|
542
|
+
headers: { 'Content-Type': 'application/json', ...(cookieSession ? { 'X-Gosso-Cookie-Session': '1' } : {}) },
|
|
454
543
|
body: JSON.stringify({
|
|
455
544
|
request_id: begin.request_id,
|
|
456
545
|
id: assertion.id,
|
|
@@ -465,8 +554,9 @@ export function createGossoClient(inputConfig) {
|
|
|
465
554
|
}),
|
|
466
555
|
});
|
|
467
556
|
const data = await parseJsonEnvelope(completeRes, 'Passkey login failed');
|
|
468
|
-
|
|
469
|
-
|
|
557
|
+
if (!cookieSession)
|
|
558
|
+
saveTokenSet(data);
|
|
559
|
+
await fetchUserProfile(cookieSession ? undefined : data.access_token);
|
|
470
560
|
return data;
|
|
471
561
|
};
|
|
472
562
|
const updateProfile = async (displayName) => {
|
|
@@ -599,7 +689,7 @@ export function createGossoClient(inputConfig) {
|
|
|
599
689
|
getRefreshToken,
|
|
600
690
|
getUserProfile: readProfile,
|
|
601
691
|
getSnapshot,
|
|
602
|
-
isLoggedIn: () => Boolean(getAccessToken()),
|
|
692
|
+
isLoggedIn: () => cookieSession ? Boolean(readProfile()) : Boolean(getAccessToken()),
|
|
603
693
|
isAdmin: () => hasAdminAccess(readProfile(), getAccessToken()),
|
|
604
694
|
saveTokenSet,
|
|
605
695
|
clear,
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gosso/client",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.0",
|
|
4
4
|
"description": "Browser SDK for Gosso OAuth/OIDC SPA clients.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
@@ -43,6 +43,7 @@
|
|
|
43
43
|
"build": "tsc -p tsconfig.build.json",
|
|
44
44
|
"typecheck": "tsc -p tsconfig.json",
|
|
45
45
|
"test": "vitest run",
|
|
46
|
+
"prepare": "npm run build",
|
|
46
47
|
"prepack": "npm run build",
|
|
47
48
|
"prepublishOnly": "npm run typecheck && npm test && npm run build"
|
|
48
49
|
},
|