bezzie 0.2.1 → 1.0.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/README.md +75 -34
- package/dist/adapters/cloudflare-kv.d.ts +5 -1
- package/dist/adapters/cloudflare-kv.d.ts.map +1 -1
- package/dist/adapters/cloudflare-kv.js +8 -1
- package/dist/adapters/cloudflare-kv.js.map +1 -1
- package/dist/adapters/memory.d.ts +17 -1
- package/dist/adapters/memory.d.ts.map +1 -1
- package/dist/adapters/memory.js +32 -1
- package/dist/adapters/memory.js.map +1 -1
- package/dist/adapters/redis.d.ts +38 -1
- package/dist/adapters/redis.d.ts.map +1 -1
- package/dist/adapters/redis.js +39 -0
- package/dist/adapters/redis.js.map +1 -1
- package/dist/adapters/types.d.ts +19 -0
- package/dist/adapters/types.d.ts.map +1 -1
- package/dist/discovery.d.ts +13 -2
- package/dist/discovery.d.ts.map +1 -1
- package/dist/discovery.js +5 -4
- package/dist/discovery.js.map +1 -1
- package/dist/errors.d.ts +28 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +31 -0
- package/dist/errors.js.map +1 -0
- package/dist/index.d.ts +109 -35
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +21 -14
- package/dist/index.js.map +1 -1
- package/dist/middleware.d.ts +65 -7
- package/dist/middleware.d.ts.map +1 -1
- package/dist/middleware.js +32 -10
- package/dist/middleware.js.map +1 -1
- package/dist/routes.d.ts +2 -2
- package/dist/routes.d.ts.map +1 -1
- package/dist/routes.js +153 -22
- package/dist/routes.js.map +1 -1
- package/dist/session.d.ts +9 -0
- package/dist/session.d.ts.map +1 -1
- package/dist/session.js.map +1 -1
- package/package.json +23 -8
package/dist/routes.js
CHANGED
|
@@ -5,13 +5,28 @@ import { getAuthorizationServer } from './discovery';
|
|
|
5
5
|
export function authRoutes(config, cache) {
|
|
6
6
|
const router = new Hono();
|
|
7
7
|
const sessionStore = config.adapter;
|
|
8
|
-
router.get('/login', async (c) => {
|
|
8
|
+
router.get(config.routes?.login ?? '/login', async (c) => {
|
|
9
9
|
const code_verifier = oauth.generateRandomCodeVerifier();
|
|
10
10
|
const code_challenge = await oauth.calculatePKCECodeChallenge(code_verifier);
|
|
11
|
+
// oauth.generateRandomState() uses crypto.getRandomValues — cryptographically random,
|
|
12
|
+
// not sequential or time-based. Safe to use as an anti-CSRF state value.
|
|
11
13
|
const state = oauth.generateRandomState();
|
|
14
|
+
const csrfToken = oauth.generateRandomState();
|
|
15
|
+
// S8: OIDC nonce — bound to this login flow, verified in /callback against
|
|
16
|
+
// the `nonce` claim of the returned ID token to prevent replay.
|
|
17
|
+
const nonce = oauth.generateRandomState();
|
|
12
18
|
const returnTo = c.req.query('returnTo');
|
|
13
|
-
// Store state and
|
|
14
|
-
await config.adapter.set(`pkce:${state}`, { _type: 'pkce', codeVerifier: code_verifier, returnTo }, config.pkceStateTtlSeconds ?? 600); // 10 minutes
|
|
19
|
+
// Store state, codeVerifier, csrfToken, and nonce in adapter
|
|
20
|
+
await config.adapter.set(`pkce:${state}`, { _type: 'pkce', codeVerifier: code_verifier, returnTo, csrfToken, nonce }, config.pkceStateTtlSeconds ?? 600); // 10 minutes
|
|
21
|
+
// Bind the PKCE state to the user's browser session via a short-lived cookie
|
|
22
|
+
// to prevent login-CSRF (S4).
|
|
23
|
+
setCookie(c, '__Host-pkce-csrf', csrfToken, {
|
|
24
|
+
httpOnly: true,
|
|
25
|
+
secure: true,
|
|
26
|
+
sameSite: 'Strict',
|
|
27
|
+
path: '/',
|
|
28
|
+
maxAge: 600,
|
|
29
|
+
});
|
|
15
30
|
const as = await getAuthorizationServer(config, cache);
|
|
16
31
|
if (!as.authorization_endpoint) {
|
|
17
32
|
return c.text('Missing authorization_endpoint', 500);
|
|
@@ -19,17 +34,22 @@ export function authRoutes(config, cache) {
|
|
|
19
34
|
const authorizationUrl = new URL(as.authorization_endpoint);
|
|
20
35
|
authorizationUrl.searchParams.set('client_id', config.clientId);
|
|
21
36
|
authorizationUrl.searchParams.set('response_type', 'code');
|
|
22
|
-
authorizationUrl.searchParams.set('redirect_uri', `${config.baseUrl}/auth/callback`);
|
|
37
|
+
authorizationUrl.searchParams.set('redirect_uri', `${config.baseUrl}${config.routes?.callback ?? '/auth/callback'}`);
|
|
23
38
|
authorizationUrl.searchParams.set('scope', (config.scopes ?? ['openid', 'profile', 'email', 'offline_access']).join(' '));
|
|
24
39
|
authorizationUrl.searchParams.set('state', state);
|
|
25
40
|
authorizationUrl.searchParams.set('code_challenge', code_challenge);
|
|
26
41
|
authorizationUrl.searchParams.set('code_challenge_method', 'S256');
|
|
42
|
+
authorizationUrl.searchParams.set('nonce', nonce);
|
|
27
43
|
if (config.audience) {
|
|
28
44
|
authorizationUrl.searchParams.set('audience', config.audience);
|
|
29
45
|
}
|
|
46
|
+
const requestUrl = new URL(c.req.url);
|
|
47
|
+
if (requestUrl.protocol === 'http:' && requestUrl.hostname !== 'localhost' && requestUrl.hostname !== '127.0.0.1') {
|
|
48
|
+
console.warn('Bezzie: running on HTTP in a non-localhost environment. The __Host- cookie prefix requires HTTPS — sessions will not be set correctly.');
|
|
49
|
+
}
|
|
30
50
|
return c.redirect(authorizationUrl.toString());
|
|
31
51
|
});
|
|
32
|
-
router.get('/callback', async (c) => {
|
|
52
|
+
router.get(config.routes?.callback ?? '/callback', async (c) => {
|
|
33
53
|
const error = c.req.query('error');
|
|
34
54
|
if (error) {
|
|
35
55
|
const ERROR_MESSAGES = {
|
|
@@ -48,27 +68,50 @@ export function authRoutes(config, cache) {
|
|
|
48
68
|
if (!stored) {
|
|
49
69
|
return c.text('Invalid or expired state', 400);
|
|
50
70
|
}
|
|
51
|
-
const { codeVerifier, returnTo } = stored;
|
|
71
|
+
const { codeVerifier, returnTo, csrfToken: storedCsrfToken, nonce: storedNonce } = stored;
|
|
72
|
+
if (!codeVerifier || codeVerifier.length < 43) {
|
|
73
|
+
return c.text('Invalid PKCE state', 400);
|
|
74
|
+
}
|
|
75
|
+
// Login-CSRF protection (S4): the cookie set at /login must match the
|
|
76
|
+
// csrfToken stored alongside the PKCE state in KV.
|
|
77
|
+
const cookieCsrfToken = getCookie(c, '__Host-pkce-csrf');
|
|
78
|
+
if (!cookieCsrfToken || !storedCsrfToken || cookieCsrfToken !== storedCsrfToken) {
|
|
79
|
+
return c.text('Invalid CSRF token', 400);
|
|
80
|
+
}
|
|
52
81
|
await config.adapter.delete(`pkce:${state}`);
|
|
82
|
+
// Clear the CSRF cookie now that it has served its purpose.
|
|
83
|
+
deleteCookie(c, '__Host-pkce-csrf', {
|
|
84
|
+
path: '/',
|
|
85
|
+
secure: true,
|
|
86
|
+
httpOnly: true,
|
|
87
|
+
sameSite: 'Strict',
|
|
88
|
+
});
|
|
53
89
|
const as = await getAuthorizationServer(config, cache);
|
|
54
90
|
const client = { client_id: config.clientId };
|
|
55
91
|
const clientAuth = oauth.ClientSecretPost(config.clientSecret);
|
|
56
92
|
const callbackParams = oauth.validateAuthResponse(as, client, new URL(c.req.url).searchParams, oauth.skipStateCheck);
|
|
57
|
-
const response = await oauth.authorizationCodeGrantRequest(as, client, clientAuth, callbackParams, `${config.baseUrl}/auth/callback`, codeVerifier);
|
|
93
|
+
const response = await oauth.authorizationCodeGrantRequest(as, client, clientAuth, callbackParams, `${config.baseUrl}${config.routes?.callback ?? '/auth/callback'}`, codeVerifier, { signal: AbortSignal.timeout(5000) });
|
|
58
94
|
let result;
|
|
59
95
|
try {
|
|
60
|
-
|
|
96
|
+
// S8: pass expectedNonce so oauth4webapi verifies the ID token `nonce`
|
|
97
|
+
// claim matches the value we sent in the authorization request.
|
|
98
|
+
result = await oauth.processAuthorizationCodeResponse(as, client, response, {
|
|
99
|
+
expectedNonce: storedNonce,
|
|
100
|
+
});
|
|
61
101
|
}
|
|
62
102
|
catch (err) {
|
|
63
103
|
if (err instanceof oauth.ResponseBodyError) {
|
|
104
|
+
console.error('Bezzie: OAuth 2.0 token exchange error:', err);
|
|
64
105
|
return c.text('OAuth 2.0 error', 400);
|
|
65
106
|
}
|
|
66
|
-
|
|
107
|
+
console.error('Bezzie: processAuthorizationCodeResponse failed (possible nonce mismatch):', err);
|
|
108
|
+
return c.text('Invalid ID token', 400);
|
|
67
109
|
}
|
|
68
110
|
const { access_token, refresh_token, expires_in, id_token } = result;
|
|
69
111
|
const claims = oauth.getValidatedIdTokenClaims(result);
|
|
70
112
|
if (!claims) {
|
|
71
|
-
|
|
113
|
+
console.error('Bezzie: id_token missing from token response');
|
|
114
|
+
return c.text('Authentication failed', 500);
|
|
72
115
|
}
|
|
73
116
|
if (!refresh_token) {
|
|
74
117
|
console.warn('Bezzie: refresh_token is missing from the token response. offline_access may not be enabled or supported by the provider.');
|
|
@@ -76,6 +119,35 @@ export function authRoutes(config, cache) {
|
|
|
76
119
|
const sessionId = Array.from(crypto.getRandomValues(new Uint8Array(16)))
|
|
77
120
|
.map((b) => b.toString(16).padStart(2, '0'))
|
|
78
121
|
.join('');
|
|
122
|
+
let mappedUser;
|
|
123
|
+
if (config.mapClaims) {
|
|
124
|
+
try {
|
|
125
|
+
const mapped = await config.mapClaims(claims);
|
|
126
|
+
mappedUser = {
|
|
127
|
+
...mapped,
|
|
128
|
+
sub: claims.sub,
|
|
129
|
+
email: claims.email,
|
|
130
|
+
};
|
|
131
|
+
}
|
|
132
|
+
catch (err) {
|
|
133
|
+
// mapClaims threw — abort login, clean up
|
|
134
|
+
deleteCookie(c, config.cookieName ?? '__Host-session', {
|
|
135
|
+
path: '/',
|
|
136
|
+
secure: true,
|
|
137
|
+
httpOnly: true,
|
|
138
|
+
sameSite: 'Strict',
|
|
139
|
+
});
|
|
140
|
+
console.error('Bezzie: mapClaims threw, aborting login:', err instanceof Error ? err.message : String(err));
|
|
141
|
+
return c.text('Login failed', 500);
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
else {
|
|
145
|
+
mappedUser = {
|
|
146
|
+
...claims,
|
|
147
|
+
sub: claims.sub,
|
|
148
|
+
email: claims.email,
|
|
149
|
+
};
|
|
150
|
+
}
|
|
79
151
|
const session = {
|
|
80
152
|
_type: 'session',
|
|
81
153
|
accessToken: access_token,
|
|
@@ -83,14 +155,21 @@ export function authRoutes(config, cache) {
|
|
|
83
155
|
idToken: id_token,
|
|
84
156
|
expiresAt: Math.floor(Date.now() / 1000) + (expires_in || 3600),
|
|
85
157
|
createdAt: Math.floor(Date.now() / 1000),
|
|
86
|
-
user:
|
|
87
|
-
...claims,
|
|
88
|
-
sub: claims.sub,
|
|
89
|
-
email: claims.email,
|
|
90
|
-
},
|
|
158
|
+
user: mappedUser,
|
|
91
159
|
};
|
|
160
|
+
// Prevent session fixation (S11): if the user already had a session cookie,
|
|
161
|
+
// remove its KV entry before minting a fresh session.
|
|
162
|
+
const existingSessionId = getCookie(c, config.cookieName ?? '__Host-session');
|
|
163
|
+
if (existingSessionId) {
|
|
164
|
+
await sessionStore.delete(`session:${existingSessionId}`);
|
|
165
|
+
}
|
|
92
166
|
// TTL for session in KV. Set to 30 days as per bug fix 3.
|
|
93
|
-
await sessionStore.set(sessionId
|
|
167
|
+
await sessionStore.set(`session:${sessionId}`, session, config.sessionTtlSeconds ?? 30 * 24 * 60 * 60);
|
|
168
|
+
// SameSite=Strict is correct here: this cookie is set *after* the IdP redirect has
|
|
169
|
+
// already completed (i.e. in /callback, not before the redirect). By the time this
|
|
170
|
+
// setCookie runs the browser is back on our origin, so Strict does not block the
|
|
171
|
+
// cookie from being sent. Using Strict rather than Lax gives the strongest
|
|
172
|
+
// cross-site request forgery protection for all subsequent requests.
|
|
94
173
|
setCookie(c, config.cookieName ?? '__Host-session', sessionId, {
|
|
95
174
|
httpOnly: true,
|
|
96
175
|
secure: true,
|
|
@@ -98,20 +177,73 @@ export function authRoutes(config, cache) {
|
|
|
98
177
|
path: '/',
|
|
99
178
|
maxAge: config.sessionTtlSeconds ?? 30 * 24 * 60 * 60, // 30 days, matches KV session TTL
|
|
100
179
|
});
|
|
180
|
+
if (config.onLogin) {
|
|
181
|
+
try {
|
|
182
|
+
await config.onLogin({
|
|
183
|
+
user: session.user,
|
|
184
|
+
sessionId,
|
|
185
|
+
tokens: { accessToken: access_token, expiresAt: session.expiresAt },
|
|
186
|
+
isNewSession: true,
|
|
187
|
+
c,
|
|
188
|
+
});
|
|
189
|
+
}
|
|
190
|
+
catch (err) {
|
|
191
|
+
// onLogin errors bubble — abort login, clean up session
|
|
192
|
+
await sessionStore.delete(`session:${sessionId}`);
|
|
193
|
+
deleteCookie(c, config.cookieName ?? '__Host-session', {
|
|
194
|
+
path: '/',
|
|
195
|
+
secure: true,
|
|
196
|
+
httpOnly: true,
|
|
197
|
+
sameSite: 'Strict',
|
|
198
|
+
});
|
|
199
|
+
console.error('Bezzie: onLogin hook threw, aborting login:', err instanceof Error ? err.message : String(err));
|
|
200
|
+
return c.text('Login failed', 500);
|
|
201
|
+
}
|
|
202
|
+
}
|
|
101
203
|
if (returnTo && returnTo.startsWith('/') && !returnTo.startsWith('//')) {
|
|
102
204
|
return c.redirect(returnTo);
|
|
103
205
|
}
|
|
104
206
|
return c.redirect('/');
|
|
105
207
|
});
|
|
106
|
-
router.post('/logout', async (c) => {
|
|
208
|
+
router.post(config.routes?.logout ?? '/logout', async (c) => {
|
|
107
209
|
const sessionId = getCookie(c, config.cookieName ?? '__Host-session');
|
|
108
210
|
let idToken;
|
|
211
|
+
let refreshToken;
|
|
212
|
+
let loggedOutUser;
|
|
109
213
|
if (sessionId) {
|
|
110
|
-
const session = await sessionStore.get(sessionId);
|
|
214
|
+
const session = await sessionStore.get(`session:${sessionId}`);
|
|
111
215
|
if (session && session._type === 'session') {
|
|
112
216
|
idToken = session.idToken;
|
|
217
|
+
refreshToken = session.refreshToken;
|
|
218
|
+
loggedOutUser = session.user;
|
|
219
|
+
}
|
|
220
|
+
await sessionStore.delete(`session:${sessionId}`);
|
|
221
|
+
if (config.onLogout && loggedOutUser) {
|
|
222
|
+
try {
|
|
223
|
+
await config.onLogout({ user: loggedOutUser, sessionId, c });
|
|
224
|
+
}
|
|
225
|
+
catch (err) {
|
|
226
|
+
const handler = config.onError ?? ((e) => console.error('Bezzie: onLogout hook threw:', e instanceof Error ? e.message : String(e)));
|
|
227
|
+
handler(err, { hook: 'onLogout', c });
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
const as = await getAuthorizationServer(config, cache);
|
|
232
|
+
// S12: best-effort revoke the refresh token at the IdP so the tokens are
|
|
233
|
+
// invalidated server-side, not just locally. Wrapped in try/catch — a
|
|
234
|
+
// revocation failure must not block the logout redirect.
|
|
235
|
+
if (refreshToken && as.revocation_endpoint) {
|
|
236
|
+
try {
|
|
237
|
+
const client = { client_id: config.clientId };
|
|
238
|
+
const clientAuth = oauth.ClientSecretPost(config.clientSecret);
|
|
239
|
+
const response = await oauth.revocationRequest(as, client, clientAuth, refreshToken, {
|
|
240
|
+
signal: AbortSignal.timeout(5000),
|
|
241
|
+
});
|
|
242
|
+
await oauth.processRevocationResponse(response);
|
|
243
|
+
}
|
|
244
|
+
catch (err) {
|
|
245
|
+
console.error('Bezzie: token revocation failed (continuing with logout):', err);
|
|
113
246
|
}
|
|
114
|
-
await sessionStore.delete(sessionId);
|
|
115
247
|
}
|
|
116
248
|
deleteCookie(c, config.cookieName ?? '__Host-session', {
|
|
117
249
|
path: '/',
|
|
@@ -119,10 +251,9 @@ export function authRoutes(config, cache) {
|
|
|
119
251
|
httpOnly: true,
|
|
120
252
|
sameSite: 'Strict',
|
|
121
253
|
});
|
|
122
|
-
const as = await getAuthorizationServer(config, cache);
|
|
123
254
|
let logoutUrl;
|
|
124
|
-
if (config.
|
|
125
|
-
logoutUrl = new URL(config.
|
|
255
|
+
if (config.providerOverrides?.logoutUrl) {
|
|
256
|
+
logoutUrl = new URL(config.providerOverrides.logoutUrl);
|
|
126
257
|
logoutUrl.searchParams.set('client_id', config.clientId);
|
|
127
258
|
logoutUrl.searchParams.set('returnTo', config.baseUrl);
|
|
128
259
|
if (idToken) {
|
package/dist/routes.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"routes.js","sourceRoot":"","sources":["../src/routes.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"routes.js","sourceRoot":"","sources":["../src/routes.ts"],"names":[],"mappings":"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"}
|
package/dist/session.d.ts
CHANGED
|
@@ -40,5 +40,14 @@ export interface Session<TUser extends Record<string, unknown> = Record<string,
|
|
|
40
40
|
email?: string;
|
|
41
41
|
} & TUser;
|
|
42
42
|
}
|
|
43
|
+
/**
|
|
44
|
+
* Alias for {@link Session} intended for consumers that want to type the
|
|
45
|
+
* shape of session data as it is persisted by a {@link SessionAdapter}.
|
|
46
|
+
*
|
|
47
|
+
* `Session<TUser>` describes the runtime session object. `StoredSession<TUser>`
|
|
48
|
+
* is the same shape — the alias exists so callers can write intent-revealing
|
|
49
|
+
* types like `adapter.get(id) as StoredSession<MyUser> | null`.
|
|
50
|
+
*/
|
|
51
|
+
export type StoredSession<TUser extends Record<string, unknown> = Record<string, unknown>> = Session<TUser>;
|
|
43
52
|
export * from './adapters';
|
|
44
53
|
//# sourceMappingURL=session.d.ts.map
|
package/dist/session.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,OAAO,CAAC,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IACtF;;OAEG;IACH,KAAK,EAAE,SAAS,CAAA;IAChB;;OAEG;IACH,WAAW,EAAE,MAAM,CAAA;IACnB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAA;IACjB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAA;IACjB;;OAEG;IACH,IAAI,EAAE;QACJ;;WAEG;QACH,GAAG,EAAE,MAAM,CAAA;QACX;;WAEG;QACH,KAAK,CAAC,EAAE,MAAM,CAAA;KACf,GAAG,KAAK,CAAA;CACV;AAED,cAAc,YAAY,CAAA"}
|
|
1
|
+
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,OAAO,CAAC,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IACtF;;OAEG;IACH,KAAK,EAAE,SAAS,CAAA;IAChB;;OAEG;IACH,WAAW,EAAE,MAAM,CAAA;IACnB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAA;IACjB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAA;IACjB;;OAEG;IACH,IAAI,EAAE;QACJ;;WAEG;QACH,GAAG,EAAE,MAAM,CAAA;QACX;;WAEG;QACH,KAAK,CAAC,EAAE,MAAM,CAAA;KACf,GAAG,KAAK,CAAA;CACV;AAED;;;;;;;GAOG;AACH,MAAM,MAAM,aAAa,CAAC,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,CAAA;AAE3G,cAAc,YAAY,CAAA"}
|
package/dist/session.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.js","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"session.js","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"AAqDA,cAAc,YAAY,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "bezzie",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "1.0.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"sideEffects": false,
|
|
6
6
|
"engines": {
|
|
@@ -8,15 +8,18 @@
|
|
|
8
8
|
},
|
|
9
9
|
"description": "BFF OAuth 2.0 auth library for Cloudflare Workers",
|
|
10
10
|
"keywords": [
|
|
11
|
-
"hono",
|
|
12
|
-
"cloudflare-workers",
|
|
13
|
-
"oauth",
|
|
14
|
-
"oidc",
|
|
15
|
-
"auth",
|
|
16
11
|
"bff",
|
|
17
|
-
"
|
|
12
|
+
"backend-for-frontend",
|
|
18
13
|
"jwt",
|
|
19
|
-
"pkce"
|
|
14
|
+
"pkce",
|
|
15
|
+
"token-rotation",
|
|
16
|
+
"oidc",
|
|
17
|
+
"cloudflare-workers",
|
|
18
|
+
"oauth2",
|
|
19
|
+
"auth",
|
|
20
|
+
"hono",
|
|
21
|
+
"oauth",
|
|
22
|
+
"session"
|
|
20
23
|
],
|
|
21
24
|
"main": "dist/index.js",
|
|
22
25
|
"types": "dist/index.d.ts",
|
|
@@ -24,6 +27,18 @@
|
|
|
24
27
|
".": {
|
|
25
28
|
"import": "./dist/index.js",
|
|
26
29
|
"types": "./dist/index.d.ts"
|
|
30
|
+
},
|
|
31
|
+
"./cloudflare": {
|
|
32
|
+
"import": "./dist/adapters/cloudflare-kv.js",
|
|
33
|
+
"types": "./dist/adapters/cloudflare-kv.d.ts"
|
|
34
|
+
},
|
|
35
|
+
"./redis": {
|
|
36
|
+
"import": "./dist/adapters/redis.js",
|
|
37
|
+
"types": "./dist/adapters/redis.d.ts"
|
|
38
|
+
},
|
|
39
|
+
"./memory": {
|
|
40
|
+
"import": "./dist/adapters/memory.js",
|
|
41
|
+
"types": "./dist/adapters/memory.d.ts"
|
|
27
42
|
}
|
|
28
43
|
},
|
|
29
44
|
"files": [
|