@sphereon/ssi-express-support 0.33.1-feature.vcdm2.tsup.31 → 0.33.1-next.2
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-utils.d.ts +21 -0
- package/dist/auth-utils.d.ts.map +1 -0
- package/dist/auth-utils.js +148 -0
- package/dist/auth-utils.js.map +1 -0
- package/dist/entra-id-auth.d.ts +10 -0
- package/dist/entra-id-auth.d.ts.map +1 -0
- package/dist/entra-id-auth.js +61 -0
- package/dist/entra-id-auth.js.map +1 -0
- package/dist/express-builders.d.ts +99 -0
- package/dist/express-builders.d.ts.map +1 -0
- package/dist/express-builders.js +281 -0
- package/dist/express-builders.js.map +1 -0
- package/dist/express-utils.d.ts +4 -0
- package/dist/express-utils.d.ts.map +1 -0
- package/dist/express-utils.js +55 -0
- package/dist/express-utils.js.map +1 -0
- package/dist/functions.d.ts +2 -0
- package/dist/functions.d.ts.map +1 -0
- package/dist/functions.js +10 -0
- package/dist/functions.js.map +1 -0
- package/dist/index.d.ts +9 -403
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +26 -911
- package/dist/index.js.map +1 -1
- package/dist/openid-connect-rp.d.ts +54 -0
- package/dist/openid-connect-rp.d.ts.map +1 -0
- package/dist/openid-connect-rp.js +214 -0
- package/dist/openid-connect-rp.js.map +1 -0
- package/dist/static-bearer-auth.d.ts +34 -0
- package/dist/static-bearer-auth.d.ts.map +1 -0
- package/dist/static-bearer-auth.js +146 -0
- package/dist/static-bearer-auth.js.map +1 -0
- package/dist/types.d.ts +193 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +7 -0
- package/dist/types.js.map +1 -0
- package/package.json +10 -21
- package/src/openid-connect-rp.ts +0 -1
- package/src/static-bearer-auth.ts +3 -5
- package/dist/index.cjs +0 -944
- package/dist/index.cjs.map +0 -1
- package/dist/index.d.cts +0 -403
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
|
+
};
|
|
28
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
+
exports.MapBasedStaticBearerUserProvider = exports.StaticBearerAuth = void 0;
|
|
30
|
+
const passport_1 = __importDefault(require("passport"));
|
|
31
|
+
const u8a = __importStar(require("uint8arrays"));
|
|
32
|
+
class StaticBearerAuth {
|
|
33
|
+
static init(strategy, provider) {
|
|
34
|
+
return new StaticBearerAuth(strategy !== null && strategy !== void 0 ? strategy : 'bearer', provider !== null && provider !== void 0 ? provider : new MapBasedStaticBearerUserProvider(strategy));
|
|
35
|
+
}
|
|
36
|
+
constructor(strategy, provider) {
|
|
37
|
+
this.hashTokens = false;
|
|
38
|
+
this.strategy = strategy;
|
|
39
|
+
if (StaticBearerAuth.providers.has(strategy)) {
|
|
40
|
+
if (StaticBearerAuth.providers.get(strategy) !== provider) {
|
|
41
|
+
throw Error('Cannot register another user provider for strategy: ' + strategy);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
else {
|
|
45
|
+
StaticBearerAuth.providers.set(strategy, provider);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
get provider() {
|
|
49
|
+
const provider = StaticBearerAuth.providers.get(this.strategy);
|
|
50
|
+
if (!provider) {
|
|
51
|
+
throw Error('Could not get user provider for ' + this.strategy);
|
|
52
|
+
}
|
|
53
|
+
return provider;
|
|
54
|
+
}
|
|
55
|
+
withHashTokens(hashTokens) {
|
|
56
|
+
this.hashTokens = hashTokens;
|
|
57
|
+
return this;
|
|
58
|
+
}
|
|
59
|
+
withUsers(users) {
|
|
60
|
+
this.addUser(users);
|
|
61
|
+
return this;
|
|
62
|
+
}
|
|
63
|
+
addUser(user) {
|
|
64
|
+
this.provider.addUser(user);
|
|
65
|
+
return this;
|
|
66
|
+
}
|
|
67
|
+
withVerifyOptions(options) {
|
|
68
|
+
StaticBearerAuth.verifyOptions.set(this.strategy, options);
|
|
69
|
+
return this;
|
|
70
|
+
}
|
|
71
|
+
connectPassport() {
|
|
72
|
+
const _provider = this.provider;
|
|
73
|
+
function findUser(token, cb) {
|
|
74
|
+
const user = _provider.getUser(token);
|
|
75
|
+
if (user) {
|
|
76
|
+
return cb(null, user);
|
|
77
|
+
}
|
|
78
|
+
return cb('bearer token not found or incorrect', false);
|
|
79
|
+
}
|
|
80
|
+
Promise.resolve().then(() => __importStar(require('passport-http-bearer'))).then((httpBearer) => {
|
|
81
|
+
var _a;
|
|
82
|
+
const hashTokens = (_a = this.hashTokens) !== null && _a !== void 0 ? _a : false;
|
|
83
|
+
passport_1.default.use(this.strategy, new httpBearer.Strategy({ passReqToCallback: false }, function (token, cb) {
|
|
84
|
+
if (hashTokens) {
|
|
85
|
+
Promise.resolve().then(() => __importStar(require('@noble/hashes/sha256'))).then((hash) => {
|
|
86
|
+
findUser(u8a.toString(hash.sha256(token)), cb);
|
|
87
|
+
})
|
|
88
|
+
.catch((error) => {
|
|
89
|
+
console.log(`hash problem: ${error}`);
|
|
90
|
+
throw Error('Did you include @noble/hashes in package.json?');
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
else {
|
|
94
|
+
findUser(token, cb);
|
|
95
|
+
}
|
|
96
|
+
}));
|
|
97
|
+
})
|
|
98
|
+
.catch((error) => {
|
|
99
|
+
console.log(`passport-http-bearer package problem: ${error}`);
|
|
100
|
+
throw Error('Did you include passport-http-bearer in package.json?');
|
|
101
|
+
});
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
exports.StaticBearerAuth = StaticBearerAuth;
|
|
105
|
+
StaticBearerAuth.providers = new Map();
|
|
106
|
+
StaticBearerAuth.verifyOptions = new Map();
|
|
107
|
+
class MapBasedStaticBearerUserProvider {
|
|
108
|
+
constructor(strategy, hashedTokens) {
|
|
109
|
+
this._users = [];
|
|
110
|
+
this._strategy = strategy;
|
|
111
|
+
this._hashedTokens = hashedTokens !== null && hashedTokens !== void 0 ? hashedTokens : false;
|
|
112
|
+
}
|
|
113
|
+
get users() {
|
|
114
|
+
return this._users;
|
|
115
|
+
}
|
|
116
|
+
get hashedTokens() {
|
|
117
|
+
return this._hashedTokens;
|
|
118
|
+
}
|
|
119
|
+
get strategy() {
|
|
120
|
+
return this._strategy;
|
|
121
|
+
}
|
|
122
|
+
getUser(token) {
|
|
123
|
+
return this.users.find((user) => user.token === token);
|
|
124
|
+
}
|
|
125
|
+
addUser(user, hashToken) {
|
|
126
|
+
const users = Array.isArray(user) ? user : [user];
|
|
127
|
+
if (hashToken) {
|
|
128
|
+
if (!this.hashedTokens) {
|
|
129
|
+
throw Error('Cannot hash token, when hashed tokens is not enabled on the user provider for strategy ' + this.strategy);
|
|
130
|
+
}
|
|
131
|
+
Promise.resolve().then(() => __importStar(require('@noble/hashes/sha256'))).then((hash) => {
|
|
132
|
+
users.forEach((user) => (user.token = u8a.toString(hash.sha256(user.token))));
|
|
133
|
+
})
|
|
134
|
+
.catch((error) => {
|
|
135
|
+
console.log(`hash problem: ${error}`);
|
|
136
|
+
throw Error('Did you include @noble/hashes in package.json?');
|
|
137
|
+
});
|
|
138
|
+
}
|
|
139
|
+
this._users.push(...users);
|
|
140
|
+
}
|
|
141
|
+
getUsers() {
|
|
142
|
+
return this._users;
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
exports.MapBasedStaticBearerUserProvider = MapBasedStaticBearerUserProvider;
|
|
146
|
+
//# sourceMappingURL=static-bearer-auth.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"static-bearer-auth.js","sourceRoot":"","sources":["../src/static-bearer-auth.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,wDAA+B;AAC/B,iDAAkC;AAElC,MAAa,gBAAgB;IAMpB,MAAM,CAAC,IAAI,CAAC,QAAgB,EAAE,QAAmC;QACtE,OAAO,IAAI,gBAAgB,CAAC,QAAQ,aAAR,QAAQ,cAAR,QAAQ,GAAI,QAAQ,EAAE,QAAQ,aAAR,QAAQ,cAAR,QAAQ,GAAI,IAAI,gCAAgC,CAAC,QAAQ,CAAC,CAAC,CAAA;IAC/G,CAAC;IAED,YAAoB,QAAgB,EAAE,QAAkC;QANhE,eAAU,GAAa,KAAK,CAAA;QAOlC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;QACxB,IAAI,gBAAgB,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7C,IAAI,gBAAgB,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,QAAQ,EAAE,CAAC;gBAC1D,MAAM,KAAK,CAAC,sDAAsD,GAAG,QAAQ,CAAC,CAAA;YAChF,CAAC;QACH,CAAC;aAAM,CAAC;YACN,gBAAgB,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;QACpD,CAAC;IACH,CAAC;IAED,IAAI,QAAQ;QACV,MAAM,QAAQ,GAAG,gBAAgB,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QAC9D,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,KAAK,CAAC,kCAAkC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAA;QACjE,CAAC;QACD,OAAO,QAAQ,CAAA;IACjB,CAAC;IAED,cAAc,CAAC,UAAmB;QAChC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;QAC5B,OAAO,IAAI,CAAA;IACb,CAAC;IAED,SAAS,CAAC,KAAgC;QACxC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;QACnB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,OAAO,CAAC,IAA+B;QACrC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;QAC3B,OAAO,IAAI,CAAA;IACb,CAAC;IAED,iBAAiB,CAAC,OAA4C;QAC5D,gBAAgB,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;QAC1D,OAAO,IAAI,CAAA;IACb,CAAC;IAED,eAAe;QACb,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAA;QAC/B,SAAS,QAAQ,CAAC,KAAa,EAAE,EAAkF;YACjH,MAAM,IAAI,GAAG,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;YACrC,IAAI,IAAI,EAAE,CAAC;gBACT,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;YACvB,CAAC;YACD,OAAO,EAAE,CAAC,qCAAqC,EAAE,KAAK,CAAC,CAAA;QACzD,CAAC;QAED,kDAAO,sBAAsB,IAC1B,IAAI,CAAC,CAAC,UAAU,EAAE,EAAE;;YACnB,MAAM,UAAU,GAAG,MAAA,IAAI,CAAC,UAAU,mCAAI,KAAK,CAAA;YAC3C,kBAAQ,CAAC,GAAG,CACV,IAAI,CAAC,QAAQ,EACb,IAAI,UAAU,CAAC,QAAQ,CAAC,EAAE,iBAAiB,EAAE,KAAK,EAAE,EAAE,UACpD,KAAa,EACb,EAAkF;gBAElF,IAAI,UAAU,EAAE,CAAC;oBACf,kDAAO,sBAAsB,IAC1B,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;wBACb,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;oBAChD,CAAC,CAAC;yBACD,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;wBACf,OAAO,CAAC,GAAG,CAAC,iBAAiB,KAAK,EAAE,CAAC,CAAA;wBACrC,MAAM,KAAK,CAAC,gDAAgD,CAAC,CAAA;oBAC/D,CAAC,CAAC,CAAA;gBACN,CAAC;qBAAM,CAAC;oBACN,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;gBACrB,CAAC;YACH,CAAC,CAAC,CACH,CAAA;QACH,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;YACf,OAAO,CAAC,GAAG,CAAC,yCAAyC,KAAK,EAAE,CAAC,CAAA;YAC7D,MAAM,KAAK,CAAC,uDAAuD,CAAC,CAAA;QACtE,CAAC,CAAC,CAAA;IACN,CAAC;;AAvFH,4CAwFC;AAtFgB,0BAAS,GAA0C,IAAI,GAAG,EAAE,AAAnD,CAAmD;AAC5D,8BAAa,GAAqD,IAAI,GAAG,EAAE,AAA9D,CAA8D;AAiG5F,MAAa,gCAAgC;IAK3C,YAAY,QAAgB,EAAE,YAAsB;QAHnC,WAAM,GAAiB,EAAE,CAAA;QAIxC,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAA;QACzB,IAAI,CAAC,aAAa,GAAG,YAAY,aAAZ,YAAY,cAAZ,YAAY,GAAI,KAAK,CAAA;IAC5C,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAA;IACpB,CAAC;IAED,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,aAAa,CAAA;IAC3B,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,SAAS,CAAA;IACvB,CAAC;IAED,OAAO,CAAC,KAAa;QACnB,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,KAAK,KAAK,CAAC,CAAA;IACxD,CAAC;IAED,OAAO,CAAC,IAA+B,EAAE,SAAmB;QAC1D,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;QACjD,IAAI,SAAS,EAAE,CAAC;YACd,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;gBACvB,MAAM,KAAK,CAAC,yFAAyF,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAA;YACxH,CAAC;YACD,kDAAO,sBAAsB,IAC1B,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;gBACb,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;YAC/E,CAAC,CAAC;iBACD,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;gBACf,OAAO,CAAC,GAAG,CAAC,iBAAiB,KAAK,EAAE,CAAC,CAAA;gBACrC,MAAM,KAAK,CAAC,gDAAgD,CAAC,CAAA;YAC/D,CAAC,CAAC,CAAA;QACN,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAA;IAC5B,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,MAAM,CAAA;IACpB,CAAC;CACF;AA/CD,4EA+CC"}
|
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,193 @@
|
|
|
1
|
+
import { Enforcer } from 'casbin';
|
|
2
|
+
import { Express, RequestHandler } from 'express';
|
|
3
|
+
import { ParamsDictionary } from 'express-serve-static-core';
|
|
4
|
+
import http from 'http';
|
|
5
|
+
import { HttpTerminator } from 'http-terminator';
|
|
6
|
+
import { AuthenticateCallback, Strategy } from 'passport';
|
|
7
|
+
import { ParsedQs } from 'qs';
|
|
8
|
+
export interface IExpressServerOpts {
|
|
9
|
+
port?: number;
|
|
10
|
+
cookieSigningKey?: string;
|
|
11
|
+
hostname?: string;
|
|
12
|
+
basePath?: string;
|
|
13
|
+
existingExpress?: Express;
|
|
14
|
+
listenCallback?: () => void;
|
|
15
|
+
startListening?: boolean;
|
|
16
|
+
}
|
|
17
|
+
export declare function hasEndpointOpts(opts: any): any;
|
|
18
|
+
export type HasEndpointOpts = {
|
|
19
|
+
endpointOpts?: IEndpointOpts & SingleEndpoints;
|
|
20
|
+
} & Record<string, any>;
|
|
21
|
+
export type SingleEndpoints = Record<string, ISingleEndpointOpts | any>;
|
|
22
|
+
export interface IEndpointOpts {
|
|
23
|
+
basePath?: string;
|
|
24
|
+
baseUrl?: string | URL;
|
|
25
|
+
globalAuth?: GenericAuthArgs;
|
|
26
|
+
}
|
|
27
|
+
export interface ExpressSupport {
|
|
28
|
+
express: Express;
|
|
29
|
+
port: number;
|
|
30
|
+
hostname: string;
|
|
31
|
+
userIsInRole?: string | string[];
|
|
32
|
+
startListening: boolean;
|
|
33
|
+
server?: http.Server;
|
|
34
|
+
enforcer?: Enforcer;
|
|
35
|
+
start: (opts?: {
|
|
36
|
+
disableErrorHandler?: boolean;
|
|
37
|
+
doNotStartListening?: boolean;
|
|
38
|
+
}) => {
|
|
39
|
+
server: http.Server;
|
|
40
|
+
terminator: HttpTerminator;
|
|
41
|
+
};
|
|
42
|
+
stop: (terminator?: HttpTerminator) => Promise<boolean>;
|
|
43
|
+
}
|
|
44
|
+
export interface ISingleEndpointOpts extends GenericAuthArgs {
|
|
45
|
+
endpoint?: EndpointArgs;
|
|
46
|
+
enabled?: boolean;
|
|
47
|
+
path?: string;
|
|
48
|
+
disableGlobalAuth?: boolean;
|
|
49
|
+
}
|
|
50
|
+
export interface GenericAuthArgs {
|
|
51
|
+
authentication?: {
|
|
52
|
+
callback?: AuthenticateCallback | ((...args: any[]) => any);
|
|
53
|
+
useDefaultCallback?: boolean;
|
|
54
|
+
enabled?: boolean;
|
|
55
|
+
strategy?: string | string[] | Strategy;
|
|
56
|
+
strategyOptions?: Record<string, any> | any;
|
|
57
|
+
authInfo?: boolean;
|
|
58
|
+
session?: boolean;
|
|
59
|
+
};
|
|
60
|
+
authorization?: {
|
|
61
|
+
enabled?: boolean;
|
|
62
|
+
requireUserInRoles?: string | string[];
|
|
63
|
+
enforcer?: Enforcer;
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
export interface EndpointArgs extends GenericAuthArgs {
|
|
67
|
+
resource?: string;
|
|
68
|
+
operation?: string;
|
|
69
|
+
handlers?: RequestHandler<ParamsDictionary, any, any, ParsedQs, Record<string, any>>[];
|
|
70
|
+
}
|
|
71
|
+
export interface BearerUser extends Express.User {
|
|
72
|
+
id: string | number;
|
|
73
|
+
name?: string;
|
|
74
|
+
token: string;
|
|
75
|
+
}
|
|
76
|
+
export interface IStaticBearerVerifyOptions {
|
|
77
|
+
message?: string | undefined;
|
|
78
|
+
scope: string | Array<string>;
|
|
79
|
+
}
|
|
80
|
+
export interface IBaseStrategyOption {
|
|
81
|
+
identityMetadata: string;
|
|
82
|
+
clientID: string;
|
|
83
|
+
isB2C?: boolean | undefined;
|
|
84
|
+
validateIssuer?: boolean | undefined;
|
|
85
|
+
issuer?: string | string[] | undefined;
|
|
86
|
+
loggingLevel?: 'info' | 'warn' | 'error' | undefined;
|
|
87
|
+
loggingNoPII?: boolean | undefined;
|
|
88
|
+
clockSkew?: number | undefined;
|
|
89
|
+
}
|
|
90
|
+
export interface ITokenPayload {
|
|
91
|
+
/** An App ID URI. Identifies the intended recipient of the token. */
|
|
92
|
+
aud?: string | undefined;
|
|
93
|
+
/** A security token service(STS) URI. Identifies the STS that constructs and returns the token,
|
|
94
|
+
* and the Azure AD tenant in which the user was authenticated.*/
|
|
95
|
+
iss?: string | undefined;
|
|
96
|
+
/** The identity provider that authenticated the subject of the token*/
|
|
97
|
+
idp?: string | undefined;
|
|
98
|
+
/** "Issued At" indicates when the authentication for this token occurred. */
|
|
99
|
+
iat?: number | undefined;
|
|
100
|
+
/** The "nbf" (not before) claim identifies the time before which the JWT must not be accepted for processing. */
|
|
101
|
+
nbf?: number | undefined;
|
|
102
|
+
/** The "exp" (expiration time) claim identifies the expiration time on or after which the JWT must not be accepted for processing. */
|
|
103
|
+
exp?: number | undefined;
|
|
104
|
+
/** An internal claim used by Azure AD to record data for token reuse. */
|
|
105
|
+
aio?: string | undefined;
|
|
106
|
+
/** Only present in v1.0 tokens. The "Authentication context class" claim. A value of "0" indicates the end-user authentication did not meet the requirements of ISO/IEC 29115. */
|
|
107
|
+
acr?: '0' | '1' | undefined;
|
|
108
|
+
/** Only present in v1.0 tokens. Identifies how the subject of the token was authenticated. */
|
|
109
|
+
amr?: string[] | undefined;
|
|
110
|
+
/** Only present in v1.0 tokens. GUID represents the application ID of the client using the token. */
|
|
111
|
+
appid?: string | undefined;
|
|
112
|
+
/** Only present in v2.0 tokens. The application ID of the client using the token. */
|
|
113
|
+
azp?: string | undefined;
|
|
114
|
+
/** Only present in v1.0 tokens. Indicates how the client was authenticated. For a public client, the value is "0".
|
|
115
|
+
* If client ID and client secret are used, the value is "1". If a client certificate was used for authentication, the value is "2". */
|
|
116
|
+
appidacr?: '0' | '1' | '2' | undefined;
|
|
117
|
+
/** Only present in v2.0 tokens. Indicates how the client was authenticated.
|
|
118
|
+
* For a public client, the value is "0". If client ID and client secret are used, the value is "1". If a client certificate was used for authentication, the value is "2". */
|
|
119
|
+
azpacr?: '0' | '1' | '2' | undefined;
|
|
120
|
+
/** Only present in v2.0 tokens. The primary username that represents the user. It could be an email address, phone number, or a generic username without a specified format */
|
|
121
|
+
preferred_username?: string | undefined;
|
|
122
|
+
/** Provides a human-readable value that identifies the subject of the token.
|
|
123
|
+
* The value is not guaranteed to be unique, it is mutable, and it's designed to be used only for display purposes. The profile scope is required in order to receive this claim. */
|
|
124
|
+
name?: string | undefined;
|
|
125
|
+
/** The set of scopes exposed by your application for which the client application has requested (and received) consent. */
|
|
126
|
+
scp?: string | undefined;
|
|
127
|
+
/** The set of permissions exposed by your application that the requesting application has been given permission to call. */
|
|
128
|
+
roles?: string[] | undefined;
|
|
129
|
+
/** Provides object IDs that represent the subject's group memberships. */
|
|
130
|
+
groups?: string | string[] | undefined;
|
|
131
|
+
/** Denoting the user is in at least one group. */
|
|
132
|
+
hasgroups?: true | undefined;
|
|
133
|
+
/** The principal about which the token asserts information, such as the user of an app. This value is immutable and cannot be reassigned or reused.
|
|
134
|
+
* It can be used to perform authorization checks safely, such as when the token is used to access a resource,
|
|
135
|
+
* and can be used as a key in database tables. Because the subject is always present in the tokens that Azure AD issues,
|
|
136
|
+
* we recommend using this value in a general-purpose authorization system. The subject is, however, a pairwise identifier - it is unique to a particular application ID. */
|
|
137
|
+
sub?: string | undefined;
|
|
138
|
+
/** GUID represents a user. This ID uniquely identifies the user across applications. */
|
|
139
|
+
oid?: string | undefined;
|
|
140
|
+
/** Represents the Azure AD tenant that the user is from. */
|
|
141
|
+
tid?: string | undefined;
|
|
142
|
+
/** Only present in v1.0 tokens. Provides a human readable value that identifies the subject of the token. */
|
|
143
|
+
unique_name?: string | undefined;
|
|
144
|
+
/** An internal claim used by Azure to revalidate tokens. */
|
|
145
|
+
uti?: string | undefined;
|
|
146
|
+
/** An internal claim used by Azure to revalidate tokens. */
|
|
147
|
+
rh?: string | undefined;
|
|
148
|
+
/** Indicates the version of the access token. */
|
|
149
|
+
ver?: '1.0' | '2.0' | undefined;
|
|
150
|
+
/** v1.0 basic claims */
|
|
151
|
+
/** The IP address the user authenticated from. */
|
|
152
|
+
ipaddr?: string | undefined;
|
|
153
|
+
/** In cases where the user has an on-premises authentication, this claim provides their SID. */
|
|
154
|
+
onprem_sid?: string | undefined;
|
|
155
|
+
/** Indicates when the user's password expires. */
|
|
156
|
+
pwd_exp?: number | undefined;
|
|
157
|
+
/** A URL where users can be sent to reset their password. */
|
|
158
|
+
pwd_url?: string | undefined;
|
|
159
|
+
/** Signals if the client is logging in from the corporate network. If they aren't, the claim isn't included. */
|
|
160
|
+
in_corp?: string | undefined;
|
|
161
|
+
/** An additional name for the user, separate from first or last name */
|
|
162
|
+
nickname?: string | undefined;
|
|
163
|
+
/** Provides the last name, surname, or family name of the user as defined on the user object. */
|
|
164
|
+
family_name?: string | undefined;
|
|
165
|
+
/** Provides the first or given name of the user, as set on the user object. */
|
|
166
|
+
given_name?: string | undefined;
|
|
167
|
+
/** The username of the user. May be a phone number, email address, or unformatted string. */
|
|
168
|
+
upn?: string | undefined;
|
|
169
|
+
}
|
|
170
|
+
export interface IBaseStrategyOption {
|
|
171
|
+
identityMetadata: string;
|
|
172
|
+
clientID: string;
|
|
173
|
+
isB2C?: boolean | undefined;
|
|
174
|
+
validateIssuer?: boolean | undefined;
|
|
175
|
+
issuer?: string | string[] | undefined;
|
|
176
|
+
loggingLevel?: 'info' | 'warn' | 'error' | undefined;
|
|
177
|
+
loggingNoPII?: boolean | undefined;
|
|
178
|
+
clockSkew?: number | undefined;
|
|
179
|
+
}
|
|
180
|
+
export interface IBearerStrategyOption extends IBaseStrategyOption {
|
|
181
|
+
audience?: string | string[] | undefined;
|
|
182
|
+
policyName?: String | undefined;
|
|
183
|
+
allowMultiAudiencesInToken?: boolean | undefined;
|
|
184
|
+
scope?: string[] | undefined;
|
|
185
|
+
}
|
|
186
|
+
export interface IBearerStrategyOptionWithRequest extends IBearerStrategyOption {
|
|
187
|
+
passReqToCallback: boolean;
|
|
188
|
+
}
|
|
189
|
+
export type VerifyBearerFunction = (token: ITokenPayload, done: VerifyCallback) => void;
|
|
190
|
+
export interface VerifyCallback {
|
|
191
|
+
(error: any, user?: any, info?: any): void;
|
|
192
|
+
}
|
|
193
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/types.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";;AAmBA,0CAEC;AAFD,SAAgB,eAAe,CAAC,IAAS;IACvC,OAAO,cAAc,IAAI,IAAI,IAAI,IAAI,CAAC,YAAY,CAAA;AACpD,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,28 +1,16 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sphereon/ssi-express-support",
|
|
3
|
-
"version": "0.33.1-
|
|
3
|
+
"version": "0.33.1-next.2+6f7f40b9",
|
|
4
4
|
"source": "src/index.ts",
|
|
5
|
-
"
|
|
6
|
-
"
|
|
7
|
-
"module": "./dist/index.js",
|
|
8
|
-
"types": "./dist/index.d.ts",
|
|
9
|
-
"exports": {
|
|
10
|
-
"import": {
|
|
11
|
-
"types": "./dist/index.d.ts",
|
|
12
|
-
"import": "./dist/index.js"
|
|
13
|
-
},
|
|
14
|
-
"require": {
|
|
15
|
-
"types": "./dist/index.d.cts",
|
|
16
|
-
"require": "./dist/index.cjs"
|
|
17
|
-
}
|
|
18
|
-
},
|
|
5
|
+
"main": "dist/index.js",
|
|
6
|
+
"types": "dist/index.d.ts",
|
|
19
7
|
"scripts": {
|
|
20
|
-
"build": "
|
|
8
|
+
"build": "tsc --build",
|
|
9
|
+
"build:clean": "tsc --build --clean && tsc --build",
|
|
21
10
|
"start:dev": "cross-env ENVIRONMENT=dev NODE_ENV=local ts-node __tests__/index.ts",
|
|
22
11
|
"start:energyshr": "cross-env ENVIRONMENT=EnergySHR NODE_ENV=energyshr node --experimental-specifier-resolution=node --loader ts-node/esm __tests__/index.ts"
|
|
23
12
|
},
|
|
24
13
|
"dependencies": {
|
|
25
|
-
"@sphereon/ssi-types": "^0.33.1-feature.vcdm2.tsup.31+71b615ad",
|
|
26
14
|
"body-parser": "^1.20.2",
|
|
27
15
|
"casbin": "^5.30.0",
|
|
28
16
|
"cookie-session": "^2.1.0",
|
|
@@ -53,7 +41,7 @@
|
|
|
53
41
|
"@types/qs": "^6.9.15",
|
|
54
42
|
"cross-env": "^7.0.3",
|
|
55
43
|
"jose": "^4.15.9",
|
|
56
|
-
"typescript": "5.
|
|
44
|
+
"typescript": "5.4.2"
|
|
57
45
|
},
|
|
58
46
|
"peerDependencies": {
|
|
59
47
|
"@noble/hashes": "1.6.1",
|
|
@@ -72,8 +60,8 @@
|
|
|
72
60
|
}
|
|
73
61
|
},
|
|
74
62
|
"files": [
|
|
75
|
-
"dist",
|
|
76
|
-
"src",
|
|
63
|
+
"dist/**/*",
|
|
64
|
+
"src/**/*",
|
|
77
65
|
"README.md",
|
|
78
66
|
"LICENSE"
|
|
79
67
|
],
|
|
@@ -88,5 +76,6 @@
|
|
|
88
76
|
"SSI",
|
|
89
77
|
"Agent"
|
|
90
78
|
],
|
|
91
|
-
"
|
|
79
|
+
"nx": {},
|
|
80
|
+
"gitHead": "6f7f40b94beb385369fede046c3912bd0c053408"
|
|
92
81
|
}
|
package/src/openid-connect-rp.ts
CHANGED
|
@@ -2,7 +2,6 @@ import { TAgent } from '@veramo/core'
|
|
|
2
2
|
import express, { Express, NextFunction, Router } from 'express'
|
|
3
3
|
import { BaseClient, ClientMetadata, ClientOptions, Issuer } from 'openid-client'
|
|
4
4
|
import passport from 'passport'
|
|
5
|
-
import { JsonWebKey } from '@sphereon/ssi-types'
|
|
6
5
|
import { copyGlobalAuthToEndpoints, isUserAuthenticated } from './auth-utils'
|
|
7
6
|
import { sendErrorResponse } from './express-utils'
|
|
8
7
|
import { env } from './functions'
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
import passport from 'passport'
|
|
2
|
-
|
|
3
|
-
import { toString } from 'uint8arrays/to-string'
|
|
2
|
+
import * as u8a from 'uint8arrays'
|
|
4
3
|
import { BearerUser, IStaticBearerVerifyOptions } from './types'
|
|
5
|
-
|
|
6
4
|
export class StaticBearerAuth {
|
|
7
5
|
private readonly strategy: string
|
|
8
6
|
private static providers: Map<string, StaticBearerUserProvider> = new Map()
|
|
@@ -74,7 +72,7 @@ export class StaticBearerAuth {
|
|
|
74
72
|
if (hashTokens) {
|
|
75
73
|
import('@noble/hashes/sha256')
|
|
76
74
|
.then((hash) => {
|
|
77
|
-
findUser(toString(hash.sha256(token)), cb)
|
|
75
|
+
findUser(u8a.toString(hash.sha256(token)), cb)
|
|
78
76
|
})
|
|
79
77
|
.catch((error) => {
|
|
80
78
|
console.log(`hash problem: ${error}`)
|
|
@@ -137,7 +135,7 @@ export class MapBasedStaticBearerUserProvider implements StaticBearerUserProvide
|
|
|
137
135
|
}
|
|
138
136
|
import('@noble/hashes/sha256')
|
|
139
137
|
.then((hash) => {
|
|
140
|
-
users.forEach((user) => (user.token = toString(hash.sha256(user.token))))
|
|
138
|
+
users.forEach((user) => (user.token = u8a.toString(hash.sha256(user.token))))
|
|
141
139
|
})
|
|
142
140
|
.catch((error) => {
|
|
143
141
|
console.log(`hash problem: ${error}`)
|