@ereo/auth 0.2.29 → 0.2.35
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/dist/auth.d.ts +16 -5
- package/dist/auth.d.ts.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +38 -11
- package/dist/providers/index.d.ts.map +1 -1
- package/dist/providers/index.js +10 -2
- package/package.json +3 -3
package/dist/auth.d.ts
CHANGED
|
@@ -207,15 +207,26 @@ export declare function withAuth<T>(handler: (args: {
|
|
|
207
207
|
params: Record<string, string>;
|
|
208
208
|
}) => Promise<T>;
|
|
209
209
|
/**
|
|
210
|
-
*
|
|
210
|
+
* Result of getOAuthUrl — includes the URL and a Set-Cookie header for the state token.
|
|
211
|
+
* The caller MUST include the cookie header in their redirect response.
|
|
211
212
|
*/
|
|
212
|
-
export
|
|
213
|
+
export interface OAuthRedirectResult {
|
|
214
|
+
url: string;
|
|
215
|
+
/** Set-Cookie header value — must be included in the redirect response */
|
|
216
|
+
stateCookie: string;
|
|
217
|
+
}
|
|
218
|
+
export declare function getOAuthUrl(context: AppContext, providerId: string, redirectUri: string): OAuthRedirectResult;
|
|
213
219
|
/**
|
|
214
|
-
*
|
|
220
|
+
* Result of handleOAuthCallback — includes the session and a Set-Cookie header to clear the state cookie.
|
|
215
221
|
*/
|
|
216
|
-
export
|
|
222
|
+
export interface OAuthCallbackResult {
|
|
223
|
+
session: Session;
|
|
224
|
+
/** Set-Cookie header value to clear the state cookie — include in the response */
|
|
225
|
+
clearStateCookie: string;
|
|
226
|
+
}
|
|
227
|
+
export declare function handleOAuthCallback(context: AppContext, request: Request, providerId: string, params: {
|
|
217
228
|
code: string;
|
|
218
229
|
state: string;
|
|
219
230
|
redirectUri: string;
|
|
220
|
-
}): Promise<
|
|
231
|
+
}): Promise<OAuthCallbackResult>;
|
|
221
232
|
//# sourceMappingURL=auth.d.ts.map
|
package/dist/auth.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
* - Protected routes middleware
|
|
10
10
|
*/
|
|
11
11
|
export { createAuthPlugin, requireAuth, optionalAuth, requireRoles, getAuth, getSession, getUser, withAuth, getOAuthUrl, handleOAuthCallback, } from './auth';
|
|
12
|
-
export type { User, Session, JWTPayload, AuthProvider, SessionStrategy, SessionConfig, AuthConfig, AuthContext, } from './auth';
|
|
12
|
+
export type { User, Session, JWTPayload, AuthProvider, SessionStrategy, SessionConfig, AuthConfig, AuthContext, OAuthRedirectResult, OAuthCallbackResult, } from './auth';
|
|
13
13
|
export type { AuthCheckResult } from '@ereo/core';
|
|
14
14
|
export { credentials, github, google, discord, oauth, mock, apiKey, } from './providers/index';
|
|
15
15
|
export type { CredentialsConfig, OAuthConfig, GitHubConfig, GoogleConfig, DiscordConfig, GenericOAuthConfig, OAuthTokens, MockConfig, ApiKeyConfig, } from './providers/index';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,EACL,gBAAgB,EAChB,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,OAAO,EACP,UAAU,EACV,OAAO,EACP,QAAQ,EACR,WAAW,EACX,mBAAmB,GACpB,MAAM,QAAQ,CAAC;AAGhB,YAAY,EACV,IAAI,EACJ,OAAO,EACP,UAAU,EACV,YAAY,EACZ,eAAe,EACf,aAAa,EACb,UAAU,EACV,WAAW,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,EACL,gBAAgB,EAChB,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,OAAO,EACP,UAAU,EACV,OAAO,EACP,QAAQ,EACR,WAAW,EACX,mBAAmB,GACpB,MAAM,QAAQ,CAAC;AAGhB,YAAY,EACV,IAAI,EACJ,OAAO,EACP,UAAU,EACV,YAAY,EACZ,eAAe,EACf,aAAa,EACb,UAAU,EACV,WAAW,EACX,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,QAAQ,CAAC;AAGhB,YAAY,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAGlD,OAAO,EACL,WAAW,EACX,MAAM,EACN,MAAM,EACN,OAAO,EACP,KAAK,EACL,IAAI,EACJ,MAAM,GACP,MAAM,mBAAmB,CAAC;AAG3B,YAAY,EACV,iBAAiB,EACjB,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,kBAAkB,EAClB,WAAW,EACX,UAAU,EACV,YAAY,GACb,MAAM,mBAAmB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -178,7 +178,11 @@ function google(config) {
|
|
|
178
178
|
const tokenData = await tokenResponse.json();
|
|
179
179
|
if (!tokenData.access_token)
|
|
180
180
|
return null;
|
|
181
|
-
const userResponse = await oauthFetch(
|
|
181
|
+
const userResponse = await oauthFetch(userInfoUrl, {
|
|
182
|
+
headers: {
|
|
183
|
+
Authorization: `Bearer ${tokenData.access_token}`
|
|
184
|
+
}
|
|
185
|
+
});
|
|
182
186
|
const user = await userResponse.json();
|
|
183
187
|
if (config.hostedDomain && user.hd !== config.hostedDomain) {
|
|
184
188
|
return null;
|
|
@@ -224,7 +228,11 @@ function google(config) {
|
|
|
224
228
|
const tokenData = await tokenResponse.json();
|
|
225
229
|
if (!tokenData.access_token)
|
|
226
230
|
return null;
|
|
227
|
-
const userResponse = await oauthFetch(
|
|
231
|
+
const userResponse = await oauthFetch(userInfoUrl, {
|
|
232
|
+
headers: {
|
|
233
|
+
Authorization: `Bearer ${tokenData.access_token}`
|
|
234
|
+
}
|
|
235
|
+
});
|
|
228
236
|
const user = await userResponse.json();
|
|
229
237
|
if (config.hostedDomain && user.hd !== config.hostedDomain) {
|
|
230
238
|
return null;
|
|
@@ -552,7 +560,7 @@ async function verifyJWT(token, secret) {
|
|
|
552
560
|
const signingInput = `${headerBase64}.${payloadBase64}`;
|
|
553
561
|
const signature = base64UrlDecode(signatureBase64);
|
|
554
562
|
const key = await getSigningKey(secret);
|
|
555
|
-
const isValid = await crypto.subtle.verify("HMAC", key, signature
|
|
563
|
+
const isValid = await crypto.subtle.verify("HMAC", key, signature, encoder.encode(signingInput));
|
|
556
564
|
if (!isValid) {
|
|
557
565
|
return null;
|
|
558
566
|
}
|
|
@@ -634,7 +642,12 @@ class SessionStore {
|
|
|
634
642
|
function parseCookie(cookieString, name) {
|
|
635
643
|
const cookies = cookieString.split(";");
|
|
636
644
|
for (const cookie of cookies) {
|
|
637
|
-
const
|
|
645
|
+
const trimmed = cookie.trim();
|
|
646
|
+
const eqIndex = trimmed.indexOf("=");
|
|
647
|
+
if (eqIndex === -1)
|
|
648
|
+
continue;
|
|
649
|
+
const key = trimmed.substring(0, eqIndex);
|
|
650
|
+
const value = trimmed.substring(eqIndex + 1);
|
|
638
651
|
if (key === name && value) {
|
|
639
652
|
return decodeURIComponent(value);
|
|
640
653
|
}
|
|
@@ -724,7 +737,6 @@ function createAuthPlugin(config) {
|
|
|
724
737
|
return session;
|
|
725
738
|
}
|
|
726
739
|
async function createToken(session) {
|
|
727
|
-
const now = Math.floor(Date.now() / 1000);
|
|
728
740
|
let payload = {
|
|
729
741
|
sub: session.userId,
|
|
730
742
|
iat: Math.floor((session.issuedAt?.getTime() ?? Date.now()) / 1000),
|
|
@@ -914,6 +926,7 @@ function createAuthPlugin(config) {
|
|
|
914
926
|
getCookieHeader: () => pendingCookieHeader
|
|
915
927
|
};
|
|
916
928
|
ctx.set("auth", authContext);
|
|
929
|
+
ctx.set("authConfig", config);
|
|
917
930
|
const response = await next();
|
|
918
931
|
if (pendingCookieHeader) {
|
|
919
932
|
const headers = new Headers(response.headers);
|
|
@@ -927,6 +940,9 @@ function createAuthPlugin(config) {
|
|
|
927
940
|
return response;
|
|
928
941
|
};
|
|
929
942
|
server.middlewares.push(authMiddleware);
|
|
943
|
+
},
|
|
944
|
+
destroy() {
|
|
945
|
+
sessionStore.destroy();
|
|
930
946
|
}
|
|
931
947
|
};
|
|
932
948
|
}
|
|
@@ -1018,26 +1034,37 @@ function getOAuthUrl(context, providerId, redirectUri) {
|
|
|
1018
1034
|
throw new Error(`OAuth provider not found or not configured: ${providerId}`);
|
|
1019
1035
|
}
|
|
1020
1036
|
const state = base64UrlEncode(crypto.getRandomValues(new Uint8Array(32)));
|
|
1021
|
-
|
|
1022
|
-
|
|
1037
|
+
const stateCookie = buildCookieHeader("__oauth_state", state, {
|
|
1038
|
+
httpOnly: true,
|
|
1039
|
+
secure: true,
|
|
1040
|
+
sameSite: "lax",
|
|
1041
|
+
path: "/",
|
|
1042
|
+
maxAge: 600
|
|
1043
|
+
});
|
|
1044
|
+
return {
|
|
1045
|
+
url: provider.getAuthorizationUrl(state, redirectUri),
|
|
1046
|
+
stateCookie
|
|
1047
|
+
};
|
|
1023
1048
|
}
|
|
1024
|
-
async function handleOAuthCallback(context, providerId, params) {
|
|
1049
|
+
async function handleOAuthCallback(context, request, providerId, params) {
|
|
1025
1050
|
const auth = getAuth(context);
|
|
1026
1051
|
const config = context.get("authConfig");
|
|
1027
1052
|
const provider = config?.providers?.find((p) => p.id === providerId);
|
|
1028
1053
|
if (!provider || provider.type !== "oauth" || !provider.handleCallback) {
|
|
1029
1054
|
throw new Error(`OAuth provider not found or not configured: ${providerId}`);
|
|
1030
1055
|
}
|
|
1031
|
-
const
|
|
1056
|
+
const cookie = request.headers.get("cookie");
|
|
1057
|
+
const storedState = cookie ? parseCookie(cookie, "__oauth_state") : undefined;
|
|
1032
1058
|
if (!storedState || storedState !== params.state) {
|
|
1033
1059
|
throw new Error("OAuth state mismatch: possible CSRF attack");
|
|
1034
1060
|
}
|
|
1035
|
-
|
|
1061
|
+
const clearStateCookie = buildClearCookieHeader("__oauth_state", { path: "/" });
|
|
1036
1062
|
const user = await provider.handleCallback(params);
|
|
1037
1063
|
if (!user) {
|
|
1038
1064
|
throw new Error("OAuth authentication failed");
|
|
1039
1065
|
}
|
|
1040
|
-
|
|
1066
|
+
const session = await auth.signIn(providerId, { user });
|
|
1067
|
+
return { session, clearStateCookie };
|
|
1041
1068
|
}
|
|
1042
1069
|
export {
|
|
1043
1070
|
withAuth,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/providers/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAiC3D,yCAAyC;AACzC,MAAM,WAAW,iBAAiB;IAChC,4BAA4B;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,kDAAkD;IAClD,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,sEAAsE;IACtE,SAAS,EAAE,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;CAC3E;AAED,wCAAwC;AACxC,MAAM,WAAW,WAAW;IAC1B,sBAAsB;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,0BAA0B;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,kCAAkC;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,8BAA8B;IAC9B,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,wBAAwB;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,gBAAgB;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,oBAAoB;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,uEAAuE;IACvE,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,iCAAiC;AACjC,MAAM,WAAW,YAAa,SAAQ,WAAW;IAC/C,2CAA2C;IAC3C,UAAU,CAAC,EAAE;QACX,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;CACH;AAED,iCAAiC;AACjC,MAAM,WAAW,YAAa,SAAQ,WAAW;IAC/C,iDAAiD;IACjD,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,kCAAkC;AAClC,MAAM,WAAW,aAAc,SAAQ,WAAW;IAChD,6CAA6C;IAC7C,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,2CAA2C;AAC3C,MAAM,WAAW,kBAAmB,SAAQ,WAAW;IACrD,kBAAkB;IAClB,EAAE,EAAE,MAAM,CAAC;IACX,4BAA4B;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,yCAAyC;IACzC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,+CAA+C;IAC/C,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,WAAW,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3F;AAED,gDAAgD;AAChD,MAAM,WAAW,WAAW;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAMD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,iBAAiB,GAAG,YAAY,CAOnE;AAMD;;;;;;;;;;GAUG;AACH,wBAAgB,MAAM,CAAC,MAAM,EAAE,YAAY,GAAG,YAAY,CAgJzD;AAMD;;;;;;;;;;GAUG;AACH,wBAAgB,MAAM,CAAC,MAAM,EAAE,YAAY,GAAG,YAAY,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/providers/index.ts"],"names":[],"mappings":"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"}
|
package/dist/providers/index.js
CHANGED
|
@@ -178,7 +178,11 @@ function google(config) {
|
|
|
178
178
|
const tokenData = await tokenResponse.json();
|
|
179
179
|
if (!tokenData.access_token)
|
|
180
180
|
return null;
|
|
181
|
-
const userResponse = await oauthFetch(
|
|
181
|
+
const userResponse = await oauthFetch(userInfoUrl, {
|
|
182
|
+
headers: {
|
|
183
|
+
Authorization: `Bearer ${tokenData.access_token}`
|
|
184
|
+
}
|
|
185
|
+
});
|
|
182
186
|
const user = await userResponse.json();
|
|
183
187
|
if (config.hostedDomain && user.hd !== config.hostedDomain) {
|
|
184
188
|
return null;
|
|
@@ -224,7 +228,11 @@ function google(config) {
|
|
|
224
228
|
const tokenData = await tokenResponse.json();
|
|
225
229
|
if (!tokenData.access_token)
|
|
226
230
|
return null;
|
|
227
|
-
const userResponse = await oauthFetch(
|
|
231
|
+
const userResponse = await oauthFetch(userInfoUrl, {
|
|
232
|
+
headers: {
|
|
233
|
+
Authorization: `Bearer ${tokenData.access_token}`
|
|
234
|
+
}
|
|
235
|
+
});
|
|
228
236
|
const user = await userResponse.json();
|
|
229
237
|
if (config.hostedDomain && user.hd !== config.hostedDomain) {
|
|
230
238
|
return null;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ereo/auth",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.35",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"author": "Ereo Team",
|
|
6
6
|
"homepage": "https://ereojs.github.io/ereoJS",
|
|
@@ -37,8 +37,8 @@
|
|
|
37
37
|
"typecheck": "tsc --noEmit"
|
|
38
38
|
},
|
|
39
39
|
"dependencies": {
|
|
40
|
-
"@ereo/core": "^0.2.
|
|
41
|
-
"@ereo/router": "^0.2.
|
|
40
|
+
"@ereo/core": "^0.2.35",
|
|
41
|
+
"@ereo/router": "^0.2.35"
|
|
42
42
|
},
|
|
43
43
|
"devDependencies": {
|
|
44
44
|
"@types/bun": "^1.1.0",
|