@schemavaults/auth-server-sdk 0.26.1 → 0.28.4
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/cli.cjs +2 -2
- package/dist/decode-jwts-with-key-manager.d.ts +1 -0
- package/dist/decode-jwts-with-key-manager.js +15 -7
- package/dist/decode-jwts-with-key-manager.js.map +1 -1
- package/dist/route_guards/IRouteGuard.d.ts +1 -0
- package/dist/route_guards/base-route-guard.d.ts +3 -1
- package/dist/route_guards/base-route-guard.js +6 -1
- package/dist/route_guards/base-route-guard.js.map +1 -1
- package/dist/route_guards/init_route_guard_check_options.d.ts +1 -0
- package/dist/route_guards/route-guard-factory.js +5 -2
- package/dist/route_guards/route-guard-factory.js.map +1 -1
- package/dist/route_guards/withAuthenticatedRouteGuard/evaluate-required-scopes.d.ts +23 -0
- package/dist/route_guards/withAuthenticatedRouteGuard/evaluate-required-scopes.js +38 -0
- package/dist/route_guards/withAuthenticatedRouteGuard/evaluate-required-scopes.js.map +1 -0
- package/dist/route_guards/withAuthenticatedRouteGuard/index.d.ts +3 -1
- package/dist/route_guards/withAuthenticatedRouteGuard/index.js +1 -0
- package/dist/route_guards/withAuthenticatedRouteGuard/index.js.map +1 -1
- package/dist/route_guards/withAuthenticatedRouteGuard/withAuthenticatedApiRouteGuard.d.ts +9 -0
- package/dist/route_guards/withAuthenticatedRouteGuard/withAuthenticatedApiRouteGuard.js +22 -0
- package/dist/route_guards/withAuthenticatedRouteGuard/withAuthenticatedApiRouteGuard.js.map +1 -1
- package/package.json +4 -4
package/dist/cli.cjs
CHANGED
|
@@ -89,7 +89,7 @@ var init_resolve_codegen_templates_directory = __esm({
|
|
|
89
89
|
|
|
90
90
|
// src/NextjsAppDirectoryPlugin/codegen-marker.ts
|
|
91
91
|
function getCodegenMarkerComment() {
|
|
92
|
-
const version = true ? "0.
|
|
92
|
+
const version = true ? "0.28.4" : "unknown";
|
|
93
93
|
return `${CODEGEN_MARKER_PREFIX}${version}`;
|
|
94
94
|
}
|
|
95
95
|
function hasCodegenMarker(firstLine) {
|
|
@@ -331,7 +331,7 @@ async function main() {
|
|
|
331
331
|
return;
|
|
332
332
|
}
|
|
333
333
|
if (args.includes("--version") || args.includes("-v")) {
|
|
334
|
-
console.log(`${PACKAGE_NAME}@${"0.
|
|
334
|
+
console.log(`${PACKAGE_NAME}@${"0.28.4"}`);
|
|
335
335
|
return;
|
|
336
336
|
}
|
|
337
337
|
const command = args.find((arg) => !arg.startsWith("-")) ?? "codegen";
|
|
@@ -3,7 +3,7 @@ import { decodeJWTs, userDataSchema, } from "@schemavaults/auth-common";
|
|
|
3
3
|
import { JwtDecodingKeysetNotFoundError, loadJwtDecodingKeys, } from "./JwtKeyManager";
|
|
4
4
|
import { apiServerIdSchema, getTokenAudienceForApiServerId, } from "@schemavaults/app-definitions";
|
|
5
5
|
import getSchemavaultsApiServerId from "./env/get-schemavaults-api-server-id";
|
|
6
|
-
import { decodeJWT as decodeSchemavaultsJwt, getKeysetIdFromToken, customJwtPayloadToUserData, } from "@schemavaults/jwt";
|
|
6
|
+
import { decodeJWT as decodeSchemavaultsJwt, getKeysetIdFromToken, customJwtPayloadToUserData, getScopeFromCustomJwtPayload, } from "@schemavaults/jwt";
|
|
7
7
|
import isValidUuid from "./is-valid-uuid";
|
|
8
8
|
export async function decodeJWTsWithKeyManager(keys_manager, token_sources, jwt_audience = getSchemavaultsApiServerId(), environment = getAppEnvironment(), debug = false) {
|
|
9
9
|
if (debug) {
|
|
@@ -19,11 +19,14 @@ export async function decodeJWTsWithKeyManager(keys_manager, token_sources, jwt_
|
|
|
19
19
|
if (!keys_manager) {
|
|
20
20
|
throw new TypeError("Failed to resolve reference to JWT keys manager to load keys to perform decode!");
|
|
21
21
|
}
|
|
22
|
-
let
|
|
22
|
+
let decoded_result = null;
|
|
23
23
|
try {
|
|
24
|
-
const
|
|
24
|
+
const decoded = await decodeJWTs({
|
|
25
25
|
token_sources,
|
|
26
26
|
jwt_audience: token_audience,
|
|
27
|
+
// The consistency check in decodeJWTs compares the user across
|
|
28
|
+
// token sources; pull the user out of the `{ user, scope }` record.
|
|
29
|
+
getUserData: (d) => d.user,
|
|
27
30
|
decodeJWT: async (opts) => {
|
|
28
31
|
const sourceHintLabel = typeof opts.sourceHint === "string" && opts.sourceHint.length > 0
|
|
29
32
|
? opts.sourceHint
|
|
@@ -73,7 +76,10 @@ export async function decodeJWTsWithKeyManager(keys_manager, token_sources, jwt_
|
|
|
73
76
|
keyset_id,
|
|
74
77
|
env: environment,
|
|
75
78
|
});
|
|
76
|
-
return
|
|
79
|
+
return {
|
|
80
|
+
user: customJwtPayloadToUserData(jwtPayload),
|
|
81
|
+
scope: getScopeFromCustomJwtPayload(jwtPayload),
|
|
82
|
+
};
|
|
77
83
|
}
|
|
78
84
|
catch (e) {
|
|
79
85
|
console.error(`Failed to decode JSON web token (${sourceDescription}): `, e);
|
|
@@ -81,7 +87,7 @@ export async function decodeJWTsWithKeyManager(keys_manager, token_sources, jwt_
|
|
|
81
87
|
}
|
|
82
88
|
},
|
|
83
89
|
}, debug);
|
|
84
|
-
|
|
90
|
+
decoded_result = decoded;
|
|
85
91
|
}
|
|
86
92
|
catch (e) {
|
|
87
93
|
if (e instanceof JwtDecodingKeysetNotFoundError) {
|
|
@@ -91,8 +97,8 @@ export async function decodeJWTsWithKeyManager(keys_manager, token_sources, jwt_
|
|
|
91
97
|
console.warn("No-op error creating route-guard... Failed to decode JWTs, setting user = null", e);
|
|
92
98
|
}
|
|
93
99
|
}
|
|
94
|
-
if (
|
|
95
|
-
const parsed_user = await userDataSchema.safeParseAsync(
|
|
100
|
+
if (decoded_result) {
|
|
101
|
+
const parsed_user = await userDataSchema.safeParseAsync(decoded_result.user);
|
|
96
102
|
if (!parsed_user.success) {
|
|
97
103
|
console.warn("Received invalid user data from JWT decode operation: ", parsed_user.error);
|
|
98
104
|
return {
|
|
@@ -100,8 +106,10 @@ export async function decodeJWTsWithKeyManager(keys_manager, token_sources, jwt_
|
|
|
100
106
|
};
|
|
101
107
|
}
|
|
102
108
|
const user = parsed_user.data;
|
|
109
|
+
// Scope is threaded ALONGSIDE the user, not inside it.
|
|
103
110
|
return {
|
|
104
111
|
user,
|
|
112
|
+
scope: decoded_result.scope,
|
|
105
113
|
};
|
|
106
114
|
}
|
|
107
115
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decode-jwts-with-key-manager.js","sourceRoot":"","sources":["../src/decode-jwts-with-key-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EACL,UAAU,EAGV,cAAc,GACf,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAEL,8BAA8B,EAC9B,mBAAmB,GAEpB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,iBAAiB,EACjB,8BAA8B,GAE/B,MAAM,+BAA+B,CAAC;AACvC,OAAO,0BAA0B,MAAM,sCAAsC,CAAC;AAC9E,OAAO,EACL,SAAS,IAAI,qBAAqB,EAClC,oBAAoB,EACpB,0BAA0B,
|
|
1
|
+
{"version":3,"file":"decode-jwts-with-key-manager.js","sourceRoot":"","sources":["../src/decode-jwts-with-key-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,10 +4,12 @@ import type { IRouteGuard } from "./IRouteGuard";
|
|
|
4
4
|
export type { IRouteGuard } from "./IRouteGuard";
|
|
5
5
|
export declare abstract class BaseRouteGuard implements IRouteGuard {
|
|
6
6
|
protected readonly _user: UserData | null;
|
|
7
|
+
protected readonly _scope: string | null;
|
|
7
8
|
private readonly environment;
|
|
8
|
-
constructor({ user, environment, }: InitRouteGuardCheckOptions);
|
|
9
|
+
constructor({ user, scope, environment, }: InitRouteGuardCheckOptions);
|
|
9
10
|
protected get isAuthenticated(): boolean;
|
|
10
11
|
protected get isAdmin(): boolean;
|
|
11
12
|
abstract isAccessAllowed(): boolean;
|
|
12
13
|
get user(): UserData | null;
|
|
14
|
+
get scope(): string | null;
|
|
13
15
|
}
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
// base-route-guard.ts
|
|
2
2
|
export class BaseRouteGuard {
|
|
3
3
|
_user;
|
|
4
|
+
_scope;
|
|
4
5
|
environment;
|
|
5
|
-
constructor({ user, environment, }) {
|
|
6
|
+
constructor({ user, scope, environment, }) {
|
|
6
7
|
this._user = user;
|
|
8
|
+
this._scope = scope ?? null;
|
|
7
9
|
this.environment = environment;
|
|
8
10
|
}
|
|
9
11
|
get isAuthenticated() {
|
|
@@ -21,5 +23,8 @@ export class BaseRouteGuard {
|
|
|
21
23
|
get user() {
|
|
22
24
|
return this._user;
|
|
23
25
|
}
|
|
26
|
+
get scope() {
|
|
27
|
+
return this._scope;
|
|
28
|
+
}
|
|
24
29
|
}
|
|
25
30
|
//# sourceMappingURL=base-route-guard.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-route-guard.js","sourceRoot":"","sources":["../../src/route_guards/base-route-guard.ts"],"names":[],"mappings":"AAAA,sBAAsB;AAQtB,MAAM,OAAgB,cAAc;IACf,KAAK,CAAkB;
|
|
1
|
+
{"version":3,"file":"base-route-guard.js","sourceRoot":"","sources":["../../src/route_guards/base-route-guard.ts"],"names":[],"mappings":"AAAA,sBAAsB;AAQtB,MAAM,OAAgB,cAAc;IACf,KAAK,CAAkB;IACvB,MAAM,CAAgB;IACxB,WAAW,CAA6B;IAEzD,YAAmB,EACjB,IAAI,EACJ,KAAK,EACL,WAAW,GACgB;QAC3B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,MAAM,GAAG,KAAK,IAAI,IAAI,CAAC;QAC5B,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IACjC,CAAC;IAED,IAAc,eAAe;QAC3B,MAAM,SAAS,GAAY,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;QACxC,IAAI,IAAI,CAAC,WAAW,KAAK,YAAY,EAAE,CAAC;YACtC,OAAO,CAAC,KAAK,CAAC,wBAAwB,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1E,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IAAc,OAAO;QACnB,OAAO,CACL,IAAI,CAAC,eAAe;YACpB,OAAO,IAAI,CAAC,KAAK,EAAE,KAAK,KAAK,SAAS;YACtC,IAAI,CAAC,KAAK,CAAC,KAAK,CACjB,CAAC;IACJ,CAAC;IAID,IAAW,IAAI;QACb,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,IAAW,KAAK;QACd,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;CACF"}
|
|
@@ -2,5 +2,6 @@ import type { SchemaVaultsAppEnvironment } from "@schemavaults/app-definitions";
|
|
|
2
2
|
import type { UserData } from "@schemavaults/auth-common";
|
|
3
3
|
export interface InitRouteGuardCheckOptions {
|
|
4
4
|
user: UserData | null;
|
|
5
|
+
scope?: string | null;
|
|
5
6
|
environment: SchemaVaultsAppEnvironment;
|
|
6
7
|
}
|
|
@@ -135,9 +135,12 @@ export class RouteGuardFactory {
|
|
|
135
135
|
if (!this.jwt_keys_manager) {
|
|
136
136
|
throw new Error("Failed to resolve reference to JWT keys manager to operate this route guard!");
|
|
137
137
|
}
|
|
138
|
-
const
|
|
138
|
+
const decoded = await decodeJWTsWithKeyManager(this.jwt_keys_manager, token_sources, jwt_audience, this.environment, this.debug);
|
|
139
139
|
const init_opts = {
|
|
140
|
-
user,
|
|
140
|
+
user: decoded.user,
|
|
141
|
+
// Thread the token's granted scope alongside the user (null when no
|
|
142
|
+
// user was resolved or the token carried no scope claim).
|
|
143
|
+
scope: decoded.user ? decoded.scope : null,
|
|
141
144
|
environment: getAppEnvironment(),
|
|
142
145
|
};
|
|
143
146
|
if (this.debug) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"route-guard-factory.js","sourceRoot":"","sources":["../../src/route_guards/route-guard-factory.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"route-guard-factory.js","sourceRoot":"","sources":["../../src/route_guards/route-guard-factory.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
export type RequiredScopesEvaluation = {
|
|
2
|
+
ok: true;
|
|
3
|
+
} | {
|
|
4
|
+
ok: false;
|
|
5
|
+
/**
|
|
6
|
+
* `invalid_config`: the route declared a scope outside
|
|
7
|
+
* OIDC_SUPPORTED_SCOPES — a server misconfiguration (500).
|
|
8
|
+
* `missing_scopes`: the token's grant does not cover the
|
|
9
|
+
* requirement (403).
|
|
10
|
+
*/
|
|
11
|
+
reason: "invalid_config" | "missing_scopes";
|
|
12
|
+
scopes: string[];
|
|
13
|
+
};
|
|
14
|
+
/**
|
|
15
|
+
* Pure evaluation of a route's `required_scopes` against the
|
|
16
|
+
* space-delimited `scope` claim carried on the presented token (threaded
|
|
17
|
+
* alongside the user as `IRouteGuard.scope`, never folded into UserData).
|
|
18
|
+
* A token without a scope claim — issued before scopes became
|
|
19
|
+
* first-class — grants NO scopes. There is deliberately no admin bypass:
|
|
20
|
+
* scope describes what the token was granted, not who the user is.
|
|
21
|
+
*/
|
|
22
|
+
export declare function evaluateRequiredScopes(token_scope: string | undefined, required_scopes: readonly string[]): RequiredScopesEvaluation;
|
|
23
|
+
export default evaluateRequiredScopes;
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { OIDC_SUPPORTED_SCOPES } from "@schemavaults/auth-common";
|
|
2
|
+
/**
|
|
3
|
+
* Pure evaluation of a route's `required_scopes` against the
|
|
4
|
+
* space-delimited `scope` claim carried on the presented token (threaded
|
|
5
|
+
* alongside the user as `IRouteGuard.scope`, never folded into UserData).
|
|
6
|
+
* A token without a scope claim — issued before scopes became
|
|
7
|
+
* first-class — grants NO scopes. There is deliberately no admin bypass:
|
|
8
|
+
* scope describes what the token was granted, not who the user is.
|
|
9
|
+
*/
|
|
10
|
+
export function evaluateRequiredScopes(token_scope, required_scopes) {
|
|
11
|
+
if (typeof token_scope !== "string" && typeof token_scope !== "undefined") {
|
|
12
|
+
throw new TypeError("Expected 'token_scope' to be a string, if passed.", {
|
|
13
|
+
cause: `Received type ${typeof token_scope}`,
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
else if (!Array.isArray(required_scopes) ||
|
|
17
|
+
!required_scopes.every((scope) => typeof scope === "string")) {
|
|
18
|
+
throw new TypeError("Expected 'required_scopes' to be an array of strings.", {
|
|
19
|
+
cause: `Received type ${typeof required_scopes}`,
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
const invalid_configured_scopes = required_scopes.filter((scope) => !OIDC_SUPPORTED_SCOPES.includes(scope));
|
|
23
|
+
if (invalid_configured_scopes.length > 0) {
|
|
24
|
+
return {
|
|
25
|
+
ok: false,
|
|
26
|
+
reason: "invalid_config",
|
|
27
|
+
scopes: invalid_configured_scopes,
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
const granted_scopes = new Set((token_scope ?? "").split(" ").filter(Boolean));
|
|
31
|
+
const missing_scopes = required_scopes.filter((scope) => !granted_scopes.has(scope));
|
|
32
|
+
if (missing_scopes.length > 0) {
|
|
33
|
+
return { ok: false, reason: "missing_scopes", scopes: missing_scopes };
|
|
34
|
+
}
|
|
35
|
+
return { ok: true };
|
|
36
|
+
}
|
|
37
|
+
export default evaluateRequiredScopes;
|
|
38
|
+
//# sourceMappingURL=evaluate-required-scopes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"evaluate-required-scopes.js","sourceRoot":"","sources":["../../../src/route_guards/withAuthenticatedRouteGuard/evaluate-required-scopes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAgBlE;;;;;;;GAOG;AACH,MAAM,UAAU,sBAAsB,CACpC,WAA+B,EAC/B,eAAkC;IAElC,IAAI,OAAO,WAAW,KAAK,QAAQ,IAAI,OAAO,WAAW,KAAK,WAAW,EAAE,CAAC;QAC1E,MAAM,IAAI,SAAS,CAAC,mDAAmD,EAAE;YACvE,KAAK,EAAE,iBAAiB,OAAO,WAAW,EAAE;SAC7C,CAAC,CAAC;IACL,CAAC;SAAM,IACL,CAAC,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC;QAC/B,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,EAC5D,CAAC;QACD,MAAM,IAAI,SAAS,CACjB,uDAAuD,EACvD;YACE,KAAK,EAAE,iBAAiB,OAAO,eAAe,EAAE;SACjD,CACF,CAAC;IACJ,CAAC;IAED,MAAM,yBAAyB,GAAa,eAAe,CAAC,MAAM,CAChE,CAAC,KAAa,EAAE,EAAE,CAChB,CACE,qBACD,CAAC,QAAQ,CAAC,KAAK,CAAC,CACpB,CAAC;IACF,IAAI,yBAAyB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzC,OAAO;YACL,EAAE,EAAE,KAAK;YACT,MAAM,EAAE,gBAAgB;YACxB,MAAM,EAAE,yBAAyB;SAClC,CAAC;IACJ,CAAC;IAED,MAAM,cAAc,GAAG,IAAI,GAAG,CAC5B,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAC/C,CAAC;IACF,MAAM,cAAc,GAAa,eAAe,CAAC,MAAM,CACrD,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,CACtC,CAAC;IACF,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9B,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC;IACzE,CAAC;IAED,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;AACtB,CAAC;AAED,eAAe,sBAAsB,CAAC"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
export { withAuthenticatedApiRouteGuard } from "./withAuthenticatedApiRouteGuard";
|
|
2
|
-
export type { TProtectedAuthenticatedApiRoute } from "./withAuthenticatedApiRouteGuard";
|
|
2
|
+
export type { TProtectedAuthenticatedApiRoute, IWithAuthenticatedApiRouteGuardAdditionalOptions, } from "./withAuthenticatedApiRouteGuard";
|
|
3
3
|
export type { IBaseProtectedAuthenticatedApiRouteInputs } from "./IBaseProtectedAuthenticatedApiRouteInputs";
|
|
4
|
+
export { evaluateRequiredScopes } from "./evaluate-required-scopes";
|
|
5
|
+
export type { RequiredScopesEvaluation } from "./evaluate-required-scopes";
|
|
4
6
|
export { withAuthenticatedServerComponentRouteGuard } from "./withAuthenticatedServerComponentRouteGuard";
|
|
5
7
|
export type { TProtectedAuthenticatedPageServerComponent } from "./withAuthenticatedServerComponentRouteGuard";
|
|
6
8
|
export type { IBaseProtectedAuthenticatedServerComponentPageProps } from "./IBaseProtectedAuthenticatedServerComponentPageProps";
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export { withAuthenticatedApiRouteGuard } from "./withAuthenticatedApiRouteGuard";
|
|
2
|
+
export { evaluateRequiredScopes } from "./evaluate-required-scopes";
|
|
2
3
|
export { withAuthenticatedServerComponentRouteGuard } from "./withAuthenticatedServerComponentRouteGuard";
|
|
3
4
|
export { initDefaultJwtKeyManagerForAuthenticatedRouteGuard } from "./initDefaultJwtKeyManagerForAuthenticatedRouteGuard";
|
|
4
5
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/route_guards/withAuthenticatedRouteGuard/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,8BAA8B,EAAE,MAAM,kCAAkC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/route_guards/withAuthenticatedRouteGuard/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,8BAA8B,EAAE,MAAM,kCAAkC,CAAC;AAOlF,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AAGpE,OAAO,EAAE,0CAA0C,EAAE,MAAM,8CAA8C,CAAC;AAI1G,OAAO,EAAE,kDAAkD,EAAE,MAAM,sDAAsD,CAAC"}
|
|
@@ -13,6 +13,15 @@ export interface IWithAuthenticatedApiRouteGuardAdditionalOptions<TRouteInputs e
|
|
|
13
13
|
custom_is_authorized_check?: (props: TRouteInputs) => Promise<boolean>;
|
|
14
14
|
required_organization?: OrganizationID;
|
|
15
15
|
custom_is_user_in_organization?: (user: UserData, org_id: OrganizationID) => Promise<OrganizationMembershipRoleType | false>;
|
|
16
|
+
/**
|
|
17
|
+
* Scopes (from OIDC_SUPPORTED_SCOPES) that the presented token's
|
|
18
|
+
* `scope` claim must include, e.g. `["email"]`. A token without a
|
|
19
|
+
* scope claim (issued before scopes became first-class) grants NO
|
|
20
|
+
* scopes and is denied 403 whenever this list is non-empty. Unlike
|
|
21
|
+
* `required_organization`, there is no admin bypass: scopes describe
|
|
22
|
+
* what the TOKEN was granted, not who the user is.
|
|
23
|
+
*/
|
|
24
|
+
required_scopes?: readonly string[];
|
|
16
25
|
additional_token_sources?: PotentiallyValidTokenSource[];
|
|
17
26
|
debug?: boolean;
|
|
18
27
|
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { getAppEnvironment, getAuthServerAppId, } from "@schemavaults/app-definitions";
|
|
2
2
|
import { accessTokenDataSchema, isValidOrganizationID, organizationIdSchema, userDataSchema, } from "@schemavaults/auth-common";
|
|
3
|
+
import evaluateRequiredScopes from "./evaluate-required-scopes";
|
|
3
4
|
import isUserInOrganizationFromAuthServer from "../../isUserInOrganization";
|
|
4
5
|
import getSchemaVaultsAuthServerUri from "../../env/get-schemavaults-auth-server-url";
|
|
5
6
|
import loadJwksAccessPrivateKey from "../../env/loadJwksAccessPrivateKey/loadJwksAccessPrivateKey";
|
|
@@ -240,6 +241,27 @@ export function withAuthenticatedApiRouteGuard(api_route_handler, additional_cus
|
|
|
240
241
|
}, { status: 403 });
|
|
241
242
|
}
|
|
242
243
|
}
|
|
244
|
+
if (opts?.required_scopes && opts.required_scopes.length > 0) {
|
|
245
|
+
// The token's granted scope is carried alongside the user on the
|
|
246
|
+
// route guard (never folded into UserData).
|
|
247
|
+
const scope_evaluation = evaluateRequiredScopes(route_guard.scope ?? undefined, opts.required_scopes);
|
|
248
|
+
if (!scope_evaluation.ok) {
|
|
249
|
+
if (scope_evaluation.reason === "invalid_config") {
|
|
250
|
+
console.error("[withAuthenticatedApiRouteGuard] Invalid scope(s) in 'required_scopes':", scope_evaluation.scopes);
|
|
251
|
+
return json({
|
|
252
|
+
success: false,
|
|
253
|
+
error: true,
|
|
254
|
+
message: "Server does not appear to be properly configured!",
|
|
255
|
+
}, { status: 500 });
|
|
256
|
+
}
|
|
257
|
+
console.warn(`[withAuthenticatedApiRouteGuard] Token for user '${user.uid}' is missing required scope(s): ${scope_evaluation.scopes.join(", ")}`);
|
|
258
|
+
return json({
|
|
259
|
+
success: false,
|
|
260
|
+
error: true,
|
|
261
|
+
message: "Token is missing required scope(s)",
|
|
262
|
+
}, { status: 403 });
|
|
263
|
+
}
|
|
264
|
+
}
|
|
243
265
|
const base_api_route_inputs = {
|
|
244
266
|
req,
|
|
245
267
|
user,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"withAuthenticatedApiRouteGuard.js","sourceRoot":"","sources":["../../../src/route_guards/withAuthenticatedRouteGuard/withAuthenticatedApiRouteGuard.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAEL,qBAAqB,EACrB,qBAAqB,EACrB,oBAAoB,EAGpB,cAAc,GACf,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"withAuthenticatedApiRouteGuard.js","sourceRoot":"","sources":["../../../src/route_guards/withAuthenticatedRouteGuard/withAuthenticatedApiRouteGuard.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@schemavaults/auth-server-sdk",
|
|
3
3
|
"description": "TypeScript SDK for building authenticated endpoints/middlewares for the Auth Server and Resource Servers",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.28.4",
|
|
5
5
|
"license": "UNLICENSED",
|
|
6
6
|
"private": false,
|
|
7
7
|
"repository": {
|
|
@@ -18,9 +18,9 @@
|
|
|
18
18
|
},
|
|
19
19
|
"dependencies": {
|
|
20
20
|
"zod": "3.25.8",
|
|
21
|
-
"@schemavaults/jwt": "0.
|
|
22
|
-
"@schemavaults/auth-common": "0.
|
|
23
|
-
"@schemavaults/app-definitions": "0.
|
|
21
|
+
"@schemavaults/jwt": "0.11.3",
|
|
22
|
+
"@schemavaults/auth-common": "0.22.3",
|
|
23
|
+
"@schemavaults/app-definitions": "0.11.4"
|
|
24
24
|
},
|
|
25
25
|
"scripts": {
|
|
26
26
|
"build": "tsc --project tsconfig.json && tsc-alias --project tsconfig.json && bun run copy-codegen-templates && bun run prepare-cli",
|