@lilaquadrat/studio 10.6.0 → 10.7.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/lib/src/helpers/authPlugin.d.ts +11 -2
- package/lib/src/helpers/authPlugin.js +16 -6
- package/lib/src/helpers/authPlugin.js.map +1 -1
- package/lib/src/helpers/tokenRoles.d.ts +21 -0
- package/lib/src/helpers/tokenRoles.js +21 -0
- package/lib/src/helpers/tokenRoles.js.map +1 -0
- package/lib/src/helpers/verifyToken.d.ts +11 -3
- package/lib/src/helpers/verifyToken.js +13 -4
- package/lib/src/helpers/verifyToken.js.map +1 -1
- package/lib/src/services/me.service.d.ts +17 -4
- package/lib/src/services/me.service.js +41 -25
- package/lib/src/services/me.service.js.map +1 -1
- package/package.json +1 -1
- package/lib/src/helpers/isM2M.d.ts +0 -24
- package/lib/src/helpers/isM2M.js +0 -30
- package/lib/src/helpers/isM2M.js.map +0 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { FastifyPluginAsync } from 'fastify';
|
|
2
|
-
import {
|
|
3
|
-
export {
|
|
2
|
+
import { tokenRoles } from './tokenRoles.js';
|
|
3
|
+
export { tokenRoles };
|
|
4
4
|
type OAuthJwtUser = {
|
|
5
5
|
given_name: string;
|
|
6
6
|
family_name: string;
|
|
@@ -18,8 +18,17 @@ type OAuthJwtUser = {
|
|
|
18
18
|
email_verified: boolean;
|
|
19
19
|
gty?: string;
|
|
20
20
|
scope?: string;
|
|
21
|
+
/** legacy Auth0 RBAC claim. Keycloak carries authorisation in realm_access/resource_access instead. */
|
|
21
22
|
permissions?: string[];
|
|
22
23
|
azp?: string;
|
|
24
|
+
client_id?: string;
|
|
25
|
+
preferred_username?: string;
|
|
26
|
+
realm_access?: {
|
|
27
|
+
roles?: string[];
|
|
28
|
+
};
|
|
29
|
+
resource_access?: Record<string, {
|
|
30
|
+
roles?: string[];
|
|
31
|
+
}>;
|
|
23
32
|
customerInternalId?: any;
|
|
24
33
|
};
|
|
25
34
|
declare module '@fastify/jwt' {
|
|
@@ -3,9 +3,9 @@ import fp from 'fastify-plugin';
|
|
|
3
3
|
import fastifyJwt from '@fastify/jwt';
|
|
4
4
|
import jwksRsa from 'jwks-rsa';
|
|
5
5
|
import respondCode from '../functions/respondCode.js';
|
|
6
|
+
import { tokenRoles } from './tokenRoles.js';
|
|
6
7
|
import auth0config from './auth0config.js';
|
|
7
|
-
|
|
8
|
-
export { isM2M };
|
|
8
|
+
export { tokenRoles };
|
|
9
9
|
const TRANSIENT_NETWORK_CODES = new Set([
|
|
10
10
|
'ETIMEDOUT', 'ECONNRESET', 'ECONNREFUSED', 'ENOTFOUND', 'EAI_AGAIN', 'ECONNABORTED',
|
|
11
11
|
]);
|
|
@@ -106,13 +106,23 @@ const authPlugin = async (fastify) => {
|
|
|
106
106
|
return respondCode(upstream ? "SERVICE_UNAVAILABLE" : "UNAUTHORIZED", reply);
|
|
107
107
|
}
|
|
108
108
|
});
|
|
109
|
-
|
|
109
|
+
/**
|
|
110
|
+
* Authorise by ROLE rather than by caller type.
|
|
111
|
+
*
|
|
112
|
+
* Replaces the old `authenticateM2M`, which asked "is this a machine token?" and let any service
|
|
113
|
+
* account through. Classifying the caller was never the security question — what matters is
|
|
114
|
+
* whether this token is entitled to the operation. A service account carries the role via
|
|
115
|
+
* Keycloak realm roles; a user could be granted the same role and pass identically.
|
|
116
|
+
*/
|
|
117
|
+
fastify.decorate('authorize', (...roles) => async (request, reply) => {
|
|
110
118
|
try {
|
|
111
119
|
await request.jwtVerify();
|
|
112
|
-
|
|
120
|
+
request.auth = request.user;
|
|
121
|
+
const granted = tokenRoles(request.user);
|
|
122
|
+
if (!roles.some((single) => granted.includes(single))) {
|
|
123
|
+
request.requestLog?.warn?.('auth.forbidden', { required: roles, granted });
|
|
113
124
|
return respondCode("FORBIDDEN", reply);
|
|
114
125
|
}
|
|
115
|
-
request.auth = request.user;
|
|
116
126
|
}
|
|
117
127
|
catch (err) {
|
|
118
128
|
const upstream = isTransientAuthError(err);
|
|
@@ -145,7 +155,7 @@ const authPlugin = async (fastify) => {
|
|
|
145
155
|
email_verified: true
|
|
146
156
|
};
|
|
147
157
|
});
|
|
148
|
-
fastify.decorate('
|
|
158
|
+
fastify.decorate('authorize', (..._roles) => async (request, _reply) => {
|
|
149
159
|
request.auth = {
|
|
150
160
|
sub: 'dev-m2m@clients',
|
|
151
161
|
given_name: 'M2M',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authPlugin.js","sourceRoot":"","sources":["../../../src/helpers/authPlugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAChC,OAAO,UAA6B,MAAM,cAAc,CAAC;AACzD,OAAO,OAAO,MAAM,UAAU,CAAC;AAC/B,OAAO,WAAW,MAAM,6BAA6B,CAAC;AACtD,OAAO,
|
|
1
|
+
{"version":3,"file":"authPlugin.js","sourceRoot":"","sources":["../../../src/helpers/authPlugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAChC,OAAO,UAA6B,MAAM,cAAc,CAAC;AACzD,OAAO,OAAO,MAAM,UAAU,CAAC;AAC/B,OAAO,WAAW,MAAM,6BAA6B,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,WAAW,MAAM,kBAAkB,CAAC;AAE3C,OAAO,EAAE,UAAU,EAAE,CAAC;AAoCtB,MAAM,uBAAuB,GAAG,IAAI,GAAG,CAAC;IACtC,WAAW,EAAE,YAAY,EAAE,cAAc,EAAE,WAAW,EAAE,WAAW,EAAE,cAAc;CACpF,CAAC,CAAC;AAEH;;;;;GAKG;AACH,MAAM,oBAAoB,GAAG,CAAC,GAAQ,EAAW,EAAE;IAEjD,MAAM,IAAI,GAAG,GAAG,EAAE,IAAI,IAAI,GAAG,EAAE,KAAK,CAAC;IACrC,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,uBAAuB,CAAC,GAAG,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IAE/E,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC;IACvC,OAAO,uDAAuD,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAE3E,CAAC,CAAC;AAEF,MAAM,UAAU,GAAuB,KAAK,EAAE,OAAwB,EAAE,EAAE;IAExE,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,KAAK,EAAE,CAAC;QAE9B,6EAA6E;QAC7E,MAAM,WAAW,GAAG,IAAI,GAAG,EAA8B,CAAC;QAE1D,MAAM,aAAa,GAAG,CAAC,OAAe,EAAE,EAAE;YAExC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;gBAE9B,WAAW,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC;oBAC/B,KAAK,EAAE,IAAI;oBACX,eAAe,EAAE,EAAE,EAAE,sDAAsD;oBAC3E,uEAAuE;oBACvE,wEAAwE;oBACxE,uEAAuE;oBACvE,2EAA2E;oBAC3E,WAAW,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,qBAAqB,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,EAAE,aAAa;oBAC3F,SAAS,EAAE,IAAI;oBACf,qBAAqB,EAAE,EAAE;oBACzB,4EAA4E;oBAC5E,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,IAAI,CAAC;oBACpD,OAAO;iBACR,CAAC,CAAC,CAAC;YAEN,CAAC;YAED,OAAO,WAAW,CAAC,GAAG,CAAC,OAAO,CAAE,CAAC;QAEnC,CAAC,CAAC;QAEF,qCAAqC;QACrC,MAAM,OAAO,CAAC,QAAQ,CAAC,UAAU,EAAE;YACjC,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE;YAC1B,MAAM,EAAE,KAAK,EAAE,OAAuB,EAAE,KAAoB,EAAmB,EAAE;gBAE/E,MAAM,MAAM,GAAG,QAAQ,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC;gBACxD,MAAM,OAAO,GAAG,SAAS,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;gBAC/D,MAAM,GAAG,GAAuB,OAAO,EAAE,GAAG,CAAC;gBAE7C,uEAAuE;gBACvE,sEAAsE;gBACtE,sEAAsE;gBACtE,wEAAwE;gBACxE,uEAAuE;gBACvE,iEAAiE;gBACjE,MAAM,QAAQ,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC;oBACnF,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,gBAA0B,EAAE,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,MAAM,EAAE,KAAK,EAAE;oBACrG,CAAC,CAAC,MAAM,WAAW,CAAC,OAAO,CAAC,SAAS,IAAI,YAAY,CAAC,CAAC;gBAEzD,OAAO,CAAC,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC;gBAEpC,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC;gBAC7B,MAAM,MAAM,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;gBACtC,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;gBAE5D,sEAAsE;gBACtE,uEAAuE;gBACvE,mEAAmE;gBACnE,mEAAmE;gBACnE,IAAI,OAAY,CAAC;gBACjB,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,CAAC,EAAE,CAAC;oBAEhD,IAAI,CAAC;wBAEH,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;wBAErC,OAAO,GAAG,CAAC,YAAY,EAAE,CAAC;oBAE5B,CAAC;oBAAC,OAAO,GAAG,EAAE,CAAC;wBAEb,OAAO,GAAG,GAAG,CAAC;wBACd,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC;4BAAE,MAAM,GAAG,CAAC;oBAE5C,CAAC;gBAEH,CAAC;gBAED,MAAM,OAAO,CAAC;YAEhB,CAAC;YACD,MAAM,EAAE;gBACN,UAAU,EAAE,CAAC,OAAO,CAAC;aACtB;SACF,CAAC,CAAC;QAEH,mDAAmD;QACnD,OAAO,CAAC,QAAQ,CAAC,cAAc,EAAE,KAAK,EAAE,OAAuB,EAAE,KAAmB,EAAE,EAAE;YAEtF,IAAI,CAAC;gBAEH,MAAM,OAAO,CAAC,SAAS,EAAE,CAAC;gBAE1B,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;YAE9B,CAAC;YAAC,OAAO,GAAQ,EAAE,CAAC;gBAElB,iEAAiE;gBACjE,sEAAsE;gBACtE,qEAAqE;gBACrE,MAAM,QAAQ,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC;gBAE3C,OAAO,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,aAAa,EAAE;oBACxC,QAAQ;oBACR,IAAI,EAAE,GAAG,EAAE,IAAI,IAAI,GAAG,EAAE,KAAK;oBAC7B,GAAG,EAAE,GAAG,EAAE,OAAO;iBAClB,CAAC,CAAC;gBAEH,OAAO,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;YAE/E,CAAC;QAEH,CAAC,CAAC,CAAC;QAEH;;;;;;;WAOG;QACH,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,GAAG,KAAe,EAAE,EAAE,CAAC,KAAK,EAAE,OAAuB,EAAE,KAAmB,EAAE,EAAE;YAE3G,IAAI,CAAC;gBAEH,MAAM,OAAO,CAAC,SAAS,EAAE,CAAC;gBAC1B,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;gBAE5B,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBAEzC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;oBAEtD,OAAO,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,gBAAgB,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;oBAC3E,OAAO,WAAW,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;gBAEzC,CAAC;YAEH,CAAC;YAAC,OAAO,GAAQ,EAAE,CAAC;gBAElB,MAAM,QAAQ,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC;gBAE3C,OAAO,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,aAAa,EAAE;oBACxC,QAAQ;oBACR,IAAI,EAAE,GAAG,EAAE,IAAI,IAAI,GAAG,EAAE,KAAK;oBAC7B,GAAG,EAAE,GAAG,EAAE,OAAO;iBAClB,CAAC,CAAC;gBAEH,OAAO,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;YAE/E,CAAC;QAEH,CAAC,CAAC,CAAC;IAEL,CAAC;SAAM,CAAC;QAEN,2BAA2B;QAC3B,OAAO,CAAC,QAAQ,CAAC,cAAc,EAAE,KAAK,EAAE,OAAuB,EAAE,KAAmB,EAAE,EAAE;YAEtF,OAAO,CAAC,IAAI,GAAG;gBACb,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,QAAS;gBAC1B,UAAU,EAAE,KAAK;gBACjB,WAAW,EAAE,MAAM;gBACnB,QAAQ,EAAE,SAAS;gBACnB,IAAI,EAAE,UAAU;gBAChB,OAAO,EAAE,EAAE;gBACX,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACpC,GAAG,EAAE,KAAK;gBACV,GAAG,EAAE,KAAK;gBACV,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;gBAClC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,IAAI;gBACzC,OAAO,EAAE,EAAE;gBACX,KAAK,EAAE,EAAE;gBACT,cAAc,EAAE,IAAI;aACrB,CAAC;QAEJ,CAAC,CAAC,CAAC;QAEH,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,GAAG,MAAgB,EAAE,EAAE,CAAC,KAAK,EAAE,OAAuB,EAAE,MAAoB,EAAE,EAAE;YAE7G,OAAO,CAAC,IAAI,GAAG;gBACb,GAAG,EAAE,iBAAiB;gBACtB,UAAU,EAAE,KAAK;gBACjB,WAAW,EAAE,QAAQ;gBACrB,QAAQ,EAAE,WAAW;gBACrB,IAAI,EAAE,YAAY;gBAClB,OAAO,EAAE,EAAE;gBACX,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACpC,GAAG,EAAE,KAAK;gBACV,GAAG,EAAE,KAAK;gBACV,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;gBAClC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,IAAI;gBACzC,OAAO,EAAE,EAAE;gBACX,KAAK,EAAE,EAAE;gBACT,cAAc,EAAE,KAAK;gBACrB,GAAG,EAAE,oBAAoB;gBACzB,WAAW,EAAE,CAAC,GAAG,CAAC;aACnB,CAAC;QAEJ,CAAC,CAAC,CAAC;IAEL,CAAC;AAEH,CAAC,CAAC;AAEF,eAAe,EAAE,CAAC,UAAU,EAAE;IAC5B,IAAI,EAAE,aAAa;CACpB,CAAC,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Every role a token carries, from both realm-level and per-client mappings.
|
|
3
|
+
*
|
|
4
|
+
* Keycloak emits these natively through the default `roles` client scope — no protocol mapper and no
|
|
5
|
+
* realm-specific configuration required. Authorisation is therefore expressed as role assignments in
|
|
6
|
+
* Keycloak rather than as a hardcoded claim on each client.
|
|
7
|
+
*
|
|
8
|
+
* IMPORTANT: this helper must stay dependency-free. It is imported by me.service, which is reachable
|
|
9
|
+
* from non-Fastify NATS workers via the package barrel. It must NOT import authPlugin or anything
|
|
10
|
+
* that pulls in `fastify-plugin`, or those workers crash at import time with ERR_MODULE_NOT_FOUND.
|
|
11
|
+
* (This is why it lives here rather than alongside the Fastify decorator that also uses it.)
|
|
12
|
+
*/
|
|
13
|
+
export declare const tokenRoles: (auth: {
|
|
14
|
+
realm_access?: {
|
|
15
|
+
roles?: string[];
|
|
16
|
+
};
|
|
17
|
+
resource_access?: Record<string, {
|
|
18
|
+
roles?: string[];
|
|
19
|
+
}>;
|
|
20
|
+
} | undefined) => string[];
|
|
21
|
+
export default tokenRoles;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Every role a token carries, from both realm-level and per-client mappings.
|
|
3
|
+
*
|
|
4
|
+
* Keycloak emits these natively through the default `roles` client scope — no protocol mapper and no
|
|
5
|
+
* realm-specific configuration required. Authorisation is therefore expressed as role assignments in
|
|
6
|
+
* Keycloak rather than as a hardcoded claim on each client.
|
|
7
|
+
*
|
|
8
|
+
* IMPORTANT: this helper must stay dependency-free. It is imported by me.service, which is reachable
|
|
9
|
+
* from non-Fastify NATS workers via the package barrel. It must NOT import authPlugin or anything
|
|
10
|
+
* that pulls in `fastify-plugin`, or those workers crash at import time with ERR_MODULE_NOT_FOUND.
|
|
11
|
+
* (This is why it lives here rather than alongside the Fastify decorator that also uses it.)
|
|
12
|
+
*/
|
|
13
|
+
export const tokenRoles = (auth) => {
|
|
14
|
+
if (!auth)
|
|
15
|
+
return [];
|
|
16
|
+
const realm = auth.realm_access?.roles ?? [];
|
|
17
|
+
const perClient = Object.values(auth.resource_access ?? {}).flatMap((single) => single.roles ?? []);
|
|
18
|
+
return [...new Set([...realm, ...perClient])];
|
|
19
|
+
};
|
|
20
|
+
export default tokenRoles;
|
|
21
|
+
//# sourceMappingURL=tokenRoles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tokenRoles.js","sourceRoot":"","sources":["../../../src/helpers/tokenRoles.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,IAGd,EAAY,EAAE;IAEzB,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,CAAC;IAErB,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,EAAE,KAAK,IAAI,EAAE,CAAC;IAC7C,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;IAEpG,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,KAAK,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;AAEhD,CAAC,CAAC;AAEF,eAAe,UAAU,CAAC"}
|
|
@@ -1,11 +1,19 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Standalone
|
|
3
|
-
*
|
|
2
|
+
* Standalone OIDC JWT verification — usable outside Fastify (e.g. the chat websocket
|
|
3
|
+
* server, which @fastify/jwt's request-bound jwtVerify can't reach).
|
|
4
4
|
* Verifies an RS256 token's signature against the IdP JWKS and validates the
|
|
5
5
|
* standard time/issuer/audience claims. Returns the decoded claims on success;
|
|
6
6
|
* throws on any failure (bad signature, expired, wrong issuer, unknown kid).
|
|
7
7
|
*
|
|
8
|
-
* Mirrors authPlugin's RS256 + jwks-rsa approach so HTTP and WS trust the same keys
|
|
8
|
+
* Mirrors authPlugin's RS256 + jwks-rsa approach so HTTP and WS trust the same keys —
|
|
9
|
+
* including its DUAL-ISSUER routing: when no explicit jwksUri is passed, the key set is
|
|
10
|
+
* chosen by the token's own `iss`, so Auth0 and Keycloak tokens both verify. Without this
|
|
11
|
+
* every websocket connection breaks the moment user auth moves to Keycloak, because the
|
|
12
|
+
* defaults (JWT_URL/JWT_ISSUER) only ever describe one issuer.
|
|
13
|
+
*
|
|
14
|
+
* Selecting the key set by the (still unverified) `iss` is safe: the signature is then
|
|
15
|
+
* checked against that issuer's real public key, so a token claiming iss=Keycloak but not
|
|
16
|
+
* signed by Keycloak fails the kid/signature check below.
|
|
9
17
|
*/
|
|
10
18
|
type JwtClaims = {
|
|
11
19
|
sub: string;
|
|
@@ -26,15 +26,24 @@ function decodeSegment(segment) {
|
|
|
26
26
|
return JSON.parse(base64UrlDecode(segment).toString('utf8'));
|
|
27
27
|
}
|
|
28
28
|
export default async function verifyToken(token, options = {}) {
|
|
29
|
-
const jwksUri = options.jwksUri ?? process.env.JWT_URL;
|
|
30
|
-
const issuer = options.issuer ?? process.env.JWT_ISSUER;
|
|
31
|
-
if (!jwksUri)
|
|
32
|
-
throw new Error('JWKS uri not configured (set JWT_URL or pass jwksUri)');
|
|
33
29
|
const parts = token.split('.');
|
|
34
30
|
if (parts.length !== 3)
|
|
35
31
|
throw new Error('malformed token');
|
|
36
32
|
const [headerB64, payloadB64, signatureB64] = parts;
|
|
37
33
|
const header = decodeSegment(headerB64);
|
|
34
|
+
const unverified = decodeSegment(payloadB64);
|
|
35
|
+
// dual-issuer: route the JWKS lookup by the token's own issuer unless a caller pinned one
|
|
36
|
+
const keycloakIssuer = process.env.KEYCLOAK_ISSUER;
|
|
37
|
+
const isKeycloak = !!keycloakIssuer && unverified.iss === keycloakIssuer;
|
|
38
|
+
const jwksUri = options.jwksUri
|
|
39
|
+
?? (isKeycloak ? process.env.KEYCLOAK_JWT_URL : process.env.JWT_URL);
|
|
40
|
+
const issuer = options.issuer
|
|
41
|
+
?? (isKeycloak ? keycloakIssuer : process.env.JWT_ISSUER);
|
|
42
|
+
if (!jwksUri) {
|
|
43
|
+
throw new Error(isKeycloak
|
|
44
|
+
? 'JWKS uri not configured for Keycloak (set KEYCLOAK_JWT_URL)'
|
|
45
|
+
: 'JWKS uri not configured (set JWT_URL or pass jwksUri)');
|
|
46
|
+
}
|
|
38
47
|
if (header.alg !== 'RS256')
|
|
39
48
|
throw new Error(`unsupported token alg: ${header.alg}`);
|
|
40
49
|
if (!header.kid)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verifyToken.js","sourceRoot":"","sources":["../../../src/helpers/verifyToken.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,OAAO,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"verifyToken.js","sourceRoot":"","sources":["../../../src/helpers/verifyToken.ts"],"names":[],"mappings":"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"}
|
|
@@ -23,10 +23,23 @@ declare class MeService extends Immutable<Me> {
|
|
|
23
23
|
* if company is given, get all project permissions
|
|
24
24
|
*/
|
|
25
25
|
getPermissions(user: string, company?: string, project?: string): Promise<import("bson").Document[]>;
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
26
|
+
/**
|
|
27
|
+
* JIT-creates the `me` document on a user's first authenticated request.
|
|
28
|
+
*
|
|
29
|
+
* Reads the profile straight off the already-verified access token. This used to call the Auth0
|
|
30
|
+
* Management API, because Auth0 access tokens carry no profile claims — Keycloak's do, provided the
|
|
31
|
+
* client requests the `profile` and `email` scopes. That removed the last Auth0 dependency in the
|
|
32
|
+
* request path along with AUTH_URL / AUTH_CLIENT_ID / AUTH_CLIENT_SECRET.
|
|
33
|
+
*
|
|
34
|
+
* Names are truncated to 20 characters because me.model's create schema caps them there; an
|
|
35
|
+
* over-long name from the IdP would otherwise fail validation and leave the user with no `me` doc
|
|
36
|
+
* (which surfaces as USER_NOT_FOUND and an immediate logout).
|
|
37
|
+
*/
|
|
38
|
+
addUser(auth: {
|
|
39
|
+
sub: string;
|
|
40
|
+
given_name?: string;
|
|
41
|
+
family_name?: string;
|
|
42
|
+
email?: string;
|
|
30
43
|
}): Promise<import("@lilaquadrat/interfaces").CreateResult<BasicData<Me>>>;
|
|
31
44
|
updateUser(user: string, data: Me & {
|
|
32
45
|
terms?: boolean;
|
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
import { ManagementClient } from 'auth0';
|
|
2
1
|
import CustomersService from '../services/customers.service.js';
|
|
3
2
|
import MeModel from '../models/me.model.js';
|
|
4
3
|
import PermissionsModel from '../models/permissions.model.js';
|
|
5
4
|
import SettingsModel from '../models/settings.model.js';
|
|
6
5
|
import Immutable from '../Immutable.class.js';
|
|
7
|
-
import {
|
|
6
|
+
import { tokenRoles } from '../helpers/tokenRoles.js';
|
|
8
7
|
class MeService extends Immutable {
|
|
9
8
|
constructor() {
|
|
10
9
|
super(...arguments);
|
|
@@ -151,20 +150,30 @@ class MeService extends Immutable {
|
|
|
151
150
|
}
|
|
152
151
|
return PermissionsModel.db.aggregate(aggregation).toArray();
|
|
153
152
|
}
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
}
|
|
153
|
+
/**
|
|
154
|
+
* JIT-creates the `me` document on a user's first authenticated request.
|
|
155
|
+
*
|
|
156
|
+
* Reads the profile straight off the already-verified access token. This used to call the Auth0
|
|
157
|
+
* Management API, because Auth0 access tokens carry no profile claims — Keycloak's do, provided the
|
|
158
|
+
* client requests the `profile` and `email` scopes. That removed the last Auth0 dependency in the
|
|
159
|
+
* request path along with AUTH_URL / AUTH_CLIENT_ID / AUTH_CLIENT_SECRET.
|
|
160
|
+
*
|
|
161
|
+
* Names are truncated to 20 characters because me.model's create schema caps them there; an
|
|
162
|
+
* over-long name from the IdP would otherwise fail validation and leave the user with no `me` doc
|
|
163
|
+
* (which surfaces as USER_NOT_FOUND and an immediate logout).
|
|
164
|
+
*/
|
|
165
|
+
addUser(auth) {
|
|
166
|
+
const newUser = { id: auth.sub };
|
|
167
|
+
const prename = auth.given_name?.trim();
|
|
168
|
+
const lastname = auth.family_name?.trim();
|
|
169
|
+
const email = auth.email?.trim().toLowerCase();
|
|
170
|
+
if (prename)
|
|
171
|
+
newUser.prename = prename.slice(0, 20);
|
|
172
|
+
if (lastname)
|
|
173
|
+
newUser.lastname = lastname.slice(0, 20);
|
|
174
|
+
if (email)
|
|
175
|
+
newUser.email = email;
|
|
176
|
+
return this.create(newUser, 'system', 'system');
|
|
168
177
|
}
|
|
169
178
|
updateUser(user, data) {
|
|
170
179
|
let updateObject = { ...data };
|
|
@@ -246,18 +255,25 @@ class MeService extends Immutable {
|
|
|
246
255
|
*/
|
|
247
256
|
static checkStorageScope(action) {
|
|
248
257
|
return async (request, reply) => {
|
|
249
|
-
let scope;
|
|
250
258
|
if (!request.auth) {
|
|
251
259
|
return reply.code(401).send();
|
|
252
260
|
}
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
+
// The entitlement is the UNION of what the token grants and what the database grants.
|
|
262
|
+
//
|
|
263
|
+
// This used to branch on isM2M(): machine tokens took their scope from a `permissions` claim,
|
|
264
|
+
// users from the permissions collection. Classifying the caller was never the security
|
|
265
|
+
// question — the question is whether this token may perform this operation. A service account
|
|
266
|
+
// carries Keycloak realm roles named exactly like the scope strings; a user carries rows in
|
|
267
|
+
// `permissions`. Whoever holds the entitlement passes, and neither can borrow the other's path.
|
|
268
|
+
//
|
|
269
|
+
// No collision risk: Keycloak's default roles (default-roles-*, offline_access,
|
|
270
|
+
// uma_authorization) do not match the `<app>:<action>` shape these checks use.
|
|
271
|
+
const roles = tokenRoles(request.auth);
|
|
272
|
+
const permission = request.auth.sub
|
|
273
|
+
? await MeService.getSinglePermission(request.auth.sub, request.params.company, request.params.project)
|
|
274
|
+
: undefined;
|
|
275
|
+
const scope = [...new Set([...roles, ...(permission?.scope ?? [])])];
|
|
276
|
+
if (!scope.length) {
|
|
261
277
|
return reply.code(403).send();
|
|
262
278
|
}
|
|
263
279
|
const singlePermission = `${request.params.app}:storage${action.charAt(0).toUpperCase() + action.slice(1)}`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"me.service.js","sourceRoot":"","sources":["../../../src/services/me.service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"me.service.js","sourceRoot":"","sources":["../../../src/services/me.service.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Is this an authenticated machine-to-machine (service) token?
|
|
3
|
-
*
|
|
4
|
-
* Two issuers mint M2M tokens during the Auth0 → Keycloak migration:
|
|
5
|
-
* - Auth0 marks a client_credentials token with `gty: 'client-credentials'`
|
|
6
|
-
* (end-user tokens never carry it).
|
|
7
|
-
* - Keycloak service accounts emit NO `gty`. Since end users stay on Auth0,
|
|
8
|
-
* any token issued by the configured Keycloak realm is by definition M2M,
|
|
9
|
-
* so we recognise it by its issuer.
|
|
10
|
-
*
|
|
11
|
-
* Both paths expect the caller's granted scopes in a `permissions` string[] claim
|
|
12
|
-
* (for Keycloak, add a client "permissions" protocol mapper so the existing
|
|
13
|
-
* scope-array logic keeps working unchanged).
|
|
14
|
-
*
|
|
15
|
-
* IMPORTANT: this helper must stay dependency-free. It is imported by
|
|
16
|
-
* me.service (reachable from non-Fastify NATS workers via the package barrel).
|
|
17
|
-
* It must NOT import authPlugin or anything that pulls in `fastify-plugin`, or
|
|
18
|
-
* those workers crash at import time with ERR_MODULE_NOT_FOUND.
|
|
19
|
-
*/
|
|
20
|
-
export declare const isM2M: (auth: {
|
|
21
|
-
gty?: string;
|
|
22
|
-
iss?: string;
|
|
23
|
-
} | undefined) => boolean;
|
|
24
|
-
export default isM2M;
|
package/lib/src/helpers/isM2M.js
DELETED
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Is this an authenticated machine-to-machine (service) token?
|
|
3
|
-
*
|
|
4
|
-
* Two issuers mint M2M tokens during the Auth0 → Keycloak migration:
|
|
5
|
-
* - Auth0 marks a client_credentials token with `gty: 'client-credentials'`
|
|
6
|
-
* (end-user tokens never carry it).
|
|
7
|
-
* - Keycloak service accounts emit NO `gty`. Since end users stay on Auth0,
|
|
8
|
-
* any token issued by the configured Keycloak realm is by definition M2M,
|
|
9
|
-
* so we recognise it by its issuer.
|
|
10
|
-
*
|
|
11
|
-
* Both paths expect the caller's granted scopes in a `permissions` string[] claim
|
|
12
|
-
* (for Keycloak, add a client "permissions" protocol mapper so the existing
|
|
13
|
-
* scope-array logic keeps working unchanged).
|
|
14
|
-
*
|
|
15
|
-
* IMPORTANT: this helper must stay dependency-free. It is imported by
|
|
16
|
-
* me.service (reachable from non-Fastify NATS workers via the package barrel).
|
|
17
|
-
* It must NOT import authPlugin or anything that pulls in `fastify-plugin`, or
|
|
18
|
-
* those workers crash at import time with ERR_MODULE_NOT_FOUND.
|
|
19
|
-
*/
|
|
20
|
-
export const isM2M = (auth) => {
|
|
21
|
-
if (!auth)
|
|
22
|
-
return false;
|
|
23
|
-
if (auth.gty === 'client-credentials')
|
|
24
|
-
return true;
|
|
25
|
-
if (process.env.KEYCLOAK_ISSUER && auth.iss === process.env.KEYCLOAK_ISSUER)
|
|
26
|
-
return true;
|
|
27
|
-
return false;
|
|
28
|
-
};
|
|
29
|
-
export default isM2M;
|
|
30
|
-
//# sourceMappingURL=isM2M.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"isM2M.js","sourceRoot":"","sources":["../../../src/helpers/isM2M.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,IAAgD,EAAW,EAAE;IAEjF,IAAI,CAAC,IAAI;QAAE,OAAO,KAAK,CAAC;IAExB,IAAI,IAAI,CAAC,GAAG,KAAK,oBAAoB;QAAE,OAAO,IAAI,CAAC;IAEnD,IAAI,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,IAAI,CAAC,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,eAAe;QAAE,OAAO,IAAI,CAAC;IAEzF,OAAO,KAAK,CAAC;AAEf,CAAC,CAAC;AAEF,eAAe,KAAK,CAAC"}
|