@shrub/express-identity 0.5.31 → 0.5.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/authorization.d.ts +1 -1
- package/dist/authorization.js +4 -4
- package/dist/esm/authorization.js +2 -2
- package/dist/esm/identity.js +21 -25
- package/dist/esm/index.js +2 -1
- package/dist/esm/module.js +8 -7
- package/dist/esm/token.js +3 -7
- package/dist/identity.d.ts +3 -8
- package/dist/identity.js +23 -28
- package/dist/index.d.ts +1 -1
- package/dist/index.js +2 -1
- package/dist/module.d.ts +5 -0
- package/dist/module.js +6 -5
- package/dist/token.d.ts +4 -4
- package/dist/token.js +4 -9
- package/package.json +5 -5
package/dist/authorization.d.ts
CHANGED
|
@@ -20,4 +20,4 @@ export interface IAuthorizationOptions {
|
|
|
20
20
|
readonly verify?: AuthorizeCallback;
|
|
21
21
|
}
|
|
22
22
|
/** Route middleware for requests that require user authorization. If no options are provided the middleware will simply verify if the request has an authenticated user. */
|
|
23
|
-
export declare function
|
|
23
|
+
export declare function authorization(verifyOrOptions?: AuthorizeCallback | IAuthorizationOptions): RequestHandler;
|
package/dist/authorization.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.authorization = void 0;
|
|
4
4
|
/** Route middleware for requests that require user authorization. If no options are provided the middleware will simply verify if the request has an authenticated user. */
|
|
5
|
-
function
|
|
5
|
+
function authorization(verifyOrOptions) {
|
|
6
6
|
let challengeParameters;
|
|
7
7
|
let verify;
|
|
8
8
|
verifyOrOptions = verifyOrOptions || {};
|
|
@@ -44,5 +44,5 @@ function useAuthorization(verifyOrOptions) {
|
|
|
44
44
|
}
|
|
45
45
|
};
|
|
46
46
|
}
|
|
47
|
-
exports.
|
|
48
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
47
|
+
exports.authorization = authorization;
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aG9yaXphdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9hdXRob3JpemF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQXlCQSw0S0FBNEs7QUFDNUssU0FBZ0IsYUFBYSxDQUFDLGVBQTJEO0lBQ3JGLElBQUksbUJBQWdHLENBQUM7SUFDckcsSUFBSSxNQUFxQyxDQUFDO0lBRTFDLGVBQWUsR0FBRyxlQUFlLElBQUksRUFBRSxDQUFDO0lBQ3hDLElBQUksT0FBTyxlQUFlLEtBQUssVUFBVSxFQUFFO1FBQ3ZDLE1BQU0sR0FBRyxlQUFlLENBQUM7S0FDNUI7U0FDSTtRQUNELG1CQUFtQixHQUFHLGVBQWUsQ0FBQyxtQkFBbUIsQ0FBQztRQUMxRCxNQUFNLEdBQUcsZUFBZSxDQUFDLE1BQU0sQ0FBQztLQUNuQztJQUVELE1BQU0sc0JBQXNCLEdBQUcsQ0FBQyxHQUFZLEVBQUUsRUFBRTtRQUM1QyxJQUFJLG1CQUFtQixFQUFFO1lBQ3JCLElBQUksT0FBTyxtQkFBbUIsS0FBSyxVQUFVLEVBQUU7Z0JBQzNDLE9BQU8sbUJBQW1CLENBQUMsR0FBRyxDQUFDLENBQUM7YUFDbkM7WUFFRCxPQUFPLG1CQUFtQixDQUFDO1NBQzlCO1FBRUQsT0FBTyxTQUFTLENBQUM7SUFDckIsQ0FBQyxDQUFDO0lBRUYsT0FBTyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEVBQUU7UUFDdEIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFO1lBQ3ZCLE9BQU8sSUFBSSxDQUFDLElBQUksS0FBSyxDQUFDLG9DQUFvQyxDQUFDLENBQUMsQ0FBQztTQUNoRTtRQUVELElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxlQUFlLEVBQUU7WUFDdkMsT0FBTyxHQUFHLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsRUFBRSxVQUFVLEVBQUUsc0JBQXNCLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1NBQ3RHO1FBRUQsSUFBSSxNQUFNLEVBQUU7WUFDUixNQUFNLENBQUMsRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxHQUFHLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRTtnQkFDeEUsSUFBSSxNQUFNLEVBQUU7b0JBQ1IsSUFBSSxFQUFFLENBQUM7aUJBQ1Y7cUJBQ0k7b0JBQ0QsR0FBRyxDQUFDLE9BQU8sQ0FBQyxRQUFTLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUM7aUJBQzlDO1lBQ0wsQ0FBQyxDQUFDLENBQUM7U0FDTjthQUNJO1lBQ0QsSUFBSSxFQUFFLENBQUM7U0FDVjtJQUNMLENBQUMsQ0FBQztBQUNOLENBQUM7QUFoREQsc0NBZ0RDIn0=
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/** Route middleware for requests that require user authorization. If no options are provided the middleware will simply verify if the request has an authenticated user. */
|
|
2
|
-
export function
|
|
2
|
+
export function authorization(verifyOrOptions) {
|
|
3
3
|
let challengeParameters;
|
|
4
4
|
let verify;
|
|
5
5
|
verifyOrOptions = verifyOrOptions || {};
|
|
@@ -41,4 +41,4 @@ export function useAuthorization(verifyOrOptions) {
|
|
|
41
41
|
}
|
|
42
42
|
};
|
|
43
43
|
}
|
|
44
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aG9yaXphdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hdXRob3JpemF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXlCQSw0S0FBNEs7QUFDNUssTUFBTSxVQUFVLGFBQWEsQ0FBQyxlQUEyRDtJQUNyRixJQUFJLG1CQUFnRyxDQUFDO0lBQ3JHLElBQUksTUFBcUMsQ0FBQztJQUUxQyxlQUFlLEdBQUcsZUFBZSxJQUFJLEVBQUUsQ0FBQztJQUN4QyxJQUFJLE9BQU8sZUFBZSxLQUFLLFVBQVUsRUFBRTtRQUN2QyxNQUFNLEdBQUcsZUFBZSxDQUFDO0tBQzVCO1NBQ0k7UUFDRCxtQkFBbUIsR0FBRyxlQUFlLENBQUMsbUJBQW1CLENBQUM7UUFDMUQsTUFBTSxHQUFHLGVBQWUsQ0FBQyxNQUFNLENBQUM7S0FDbkM7SUFFRCxNQUFNLHNCQUFzQixHQUFHLENBQUMsR0FBWSxFQUFFLEVBQUU7UUFDNUMsSUFBSSxtQkFBbUIsRUFBRTtZQUNyQixJQUFJLE9BQU8sbUJBQW1CLEtBQUssVUFBVSxFQUFFO2dCQUMzQyxPQUFPLG1CQUFtQixDQUFDLEdBQUcsQ0FBQyxDQUFDO2FBQ25DO1lBRUQsT0FBTyxtQkFBbUIsQ0FBQztTQUM5QjtRQUVELE9BQU8sU0FBUyxDQUFDO0lBQ3JCLENBQUMsQ0FBQztJQUVGLE9BQU8sQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxFQUFFO1FBQ3RCLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRTtZQUN2QixPQUFPLElBQUksQ0FBQyxJQUFJLEtBQUssQ0FBQyxvQ0FBb0MsQ0FBQyxDQUFDLENBQUM7U0FDaEU7UUFFRCxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsZUFBZSxFQUFFO1lBQ3ZDLE9BQU8sR0FBRyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEVBQUUsVUFBVSxFQUFFLHNCQUFzQixDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztTQUN0RztRQUVELElBQUksTUFBTSxFQUFFO1lBQ1IsTUFBTSxDQUFDLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsR0FBRyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUU7Z0JBQ3hFLElBQUksTUFBTSxFQUFFO29CQUNSLElBQUksRUFBRSxDQUFDO2lCQUNWO3FCQUNJO29CQUNELEdBQUcsQ0FBQyxPQUFPLENBQUMsUUFBUyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDO2lCQUM5QztZQUNMLENBQUMsQ0FBQyxDQUFDO1NBQ047YUFDSTtZQUNELElBQUksRUFBRSxDQUFDO1NBQ1Y7SUFDTCxDQUFDLENBQUM7QUFDTixDQUFDIn0=
|
package/dist/esm/identity.js
CHANGED
|
@@ -1,11 +1,27 @@
|
|
|
1
1
|
import createError from "http-errors";
|
|
2
|
-
/**
|
|
3
|
-
export const
|
|
2
|
+
/** Identity middleware for adding the identity and authenticating the current request. */
|
|
3
|
+
export const identityMiddleware = (options) => (req, res, next) => {
|
|
4
|
+
const identity = createIdentity(req.context, options);
|
|
5
|
+
req.context.identity = identity;
|
|
6
|
+
identity.authenticate().then(result => {
|
|
7
|
+
if (result.isChallenged) {
|
|
8
|
+
identity.challenge(req, res, next);
|
|
9
|
+
}
|
|
10
|
+
else if (result.isDenied) {
|
|
11
|
+
identity.deny(req, res, next);
|
|
12
|
+
}
|
|
13
|
+
else {
|
|
14
|
+
next(result.error);
|
|
15
|
+
}
|
|
16
|
+
})
|
|
17
|
+
.catch(err => next(err));
|
|
18
|
+
};
|
|
19
|
+
function createIdentity(context, options) {
|
|
4
20
|
const handlers = options.authenticationHandlers;
|
|
5
21
|
let result;
|
|
6
22
|
let scheme;
|
|
7
23
|
let claims;
|
|
8
|
-
|
|
24
|
+
return {
|
|
9
25
|
get claims() {
|
|
10
26
|
return claims;
|
|
11
27
|
},
|
|
@@ -115,27 +131,7 @@ export const addIdentityRequestBuilder = (context, options) => {
|
|
|
115
131
|
}
|
|
116
132
|
}
|
|
117
133
|
};
|
|
118
|
-
|
|
119
|
-
context = { ...context, identity };
|
|
120
|
-
return context;
|
|
121
|
-
};
|
|
122
|
-
/** @internal Identity middleware for adding the identity and authenticating the current request. */
|
|
123
|
-
export const identityMiddleware = (options) => (req, res, next) => {
|
|
124
|
-
req.contextBuilder.addIdentity(options);
|
|
125
|
-
const identity = req.context.identity;
|
|
126
|
-
identity.authenticate().then(result => {
|
|
127
|
-
if (result.isChallenged) {
|
|
128
|
-
identity.challenge(req, res, next);
|
|
129
|
-
}
|
|
130
|
-
else if (result.isDenied) {
|
|
131
|
-
identity.deny(req, res, next);
|
|
132
|
-
}
|
|
133
|
-
else {
|
|
134
|
-
next(result.error);
|
|
135
|
-
}
|
|
136
|
-
})
|
|
137
|
-
.catch(err => next(err));
|
|
138
|
-
};
|
|
134
|
+
}
|
|
139
135
|
function on(observers, getCallback, invoke) {
|
|
140
136
|
if (observers) {
|
|
141
137
|
observers.forEach(observer => {
|
|
@@ -180,4 +176,4 @@ function getHandler(handlers, scheme) {
|
|
|
180
176
|
}
|
|
181
177
|
return undefined;
|
|
182
178
|
}
|
|
183
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
179
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWRlbnRpdHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaWRlbnRpdHkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxXQUFXLE1BQU0sYUFBYSxDQUFDO0FBNER0QywwRkFBMEY7QUFDMUYsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsQ0FBQyxPQUF5QixFQUFFLEVBQUUsQ0FBQyxDQUFDLEdBQVksRUFBRSxHQUFhLEVBQUUsSUFBa0IsRUFBRSxFQUFFO0lBQ2pILE1BQU0sUUFBUSxHQUFHLGNBQWMsQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3RELEdBQUcsQ0FBQyxPQUFPLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQTtJQUMvQixRQUFRLENBQUMsWUFBWSxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFO1FBQ2xDLElBQUksTUFBTSxDQUFDLFlBQVksRUFBRTtZQUNyQixRQUFRLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUM7U0FDdEM7YUFDSSxJQUFJLE1BQU0sQ0FBQyxRQUFRLEVBQUU7WUFDdEIsUUFBUSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDO1NBQ2pDO2FBQ0k7WUFDRCxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ3RCO0lBQ0wsQ0FBQyxDQUFDO1NBQ0QsS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7QUFDN0IsQ0FBQyxDQUFDO0FBRUYsU0FBUyxjQUFjLENBQUMsT0FBd0IsRUFBRSxPQUF5QjtJQUN2RSxNQUFNLFFBQVEsR0FBRyxPQUFPLENBQUMsc0JBQXNCLENBQUM7SUFDaEQsSUFBSSxNQUF1QyxDQUFDO0lBQzVDLElBQUksTUFBMEIsQ0FBQztJQUMvQixJQUFJLE1B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
|
package/dist/esm/index.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
export * from "./authentication";
|
|
2
2
|
export * from "./authorization";
|
|
3
|
+
export * from "./identity";
|
|
3
4
|
export * from "./module";
|
|
4
5
|
export * from "./session";
|
|
5
6
|
export * from "./token";
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsWUFBWSxDQUFDO0FBQzNCLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsV0FBVyxDQUFDO0FBQzFCLGNBQWMsU0FBUyxDQUFDIn0=
|
package/dist/esm/module.js
CHANGED
|
@@ -1,9 +1,14 @@
|
|
|
1
1
|
import { createConfig } from "@shrub/core";
|
|
2
2
|
import { ExpressModule, IExpressConfiguration } from "@shrub/express";
|
|
3
3
|
import { ExpressSessionModule } from "@shrub/express-session";
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
4
|
+
import { identityMiddleware } from "./identity";
|
|
5
|
+
import { tokenMiddleware } from "./token";
|
|
6
6
|
export const IExpressIdentityConfiguration = createConfig();
|
|
7
|
+
/**
|
|
8
|
+
* Express module that installs identity and token middleware. Note, the package also supports authorization
|
|
9
|
+
* but this is not installed by default and needs to be added via the authorization middleware; this allows
|
|
10
|
+
* better control over the endpoints that require and do not require authorization.
|
|
11
|
+
*/
|
|
7
12
|
export class ExpressIdentityModule {
|
|
8
13
|
constructor() {
|
|
9
14
|
this.options = { authenticationHandlers: [] };
|
|
@@ -39,10 +44,6 @@ export class ExpressIdentityModule {
|
|
|
39
44
|
}));
|
|
40
45
|
}
|
|
41
46
|
configure({ config }) {
|
|
42
|
-
config.get(IExpressConfiguration).useRequestBuilder("addToken", addTokenRequestBuilder);
|
|
43
|
-
config.get(IExpressConfiguration).useRequestBuilder("addIdentity", (context, options) => {
|
|
44
|
-
return addIdentityRequestBuilder(context, options || this.options);
|
|
45
|
-
});
|
|
46
47
|
config.get(IExpressConfiguration).use((req, res, next) => {
|
|
47
48
|
return tokenMiddleware(this.tokenOptions || {})(req, res, next);
|
|
48
49
|
});
|
|
@@ -51,4 +52,4 @@ export class ExpressIdentityModule {
|
|
|
51
52
|
});
|
|
52
53
|
}
|
|
53
54
|
}
|
|
54
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
55
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL21vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsWUFBWSxFQUFvRCxNQUFNLGFBQWEsQ0FBQztBQUM3RixPQUFPLEVBQUUsYUFBYSxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFOUQsT0FBTyxFQUFFLGtCQUFrQixFQUFvQixNQUFNLFlBQVksQ0FBQztBQUNsRSxPQUFPLEVBQWlCLGVBQWUsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUV6RCxNQUFNLENBQUMsTUFBTSw2QkFBNkIsR0FBRyxZQUFZLEVBQWlDLENBQUM7QUFPM0Y7Ozs7R0FJRztBQUNILE1BQU0sT0FBTyxxQkFBcUI7SUFBbEM7UUFDWSxZQUFPLEdBQXFCLEVBQUUsc0JBQXNCLEVBQUUsRUFBRSxFQUFFLENBQUM7UUFHMUQsU0FBSSxHQUFHLGtCQUFrQixDQUFDO1FBQzFCLGlCQUFZLEdBQUc7WUFDcEIsYUFBYTtZQUNiLG9CQUFvQjtTQUN2QixDQUFDO0lBdUNOLENBQUM7SUFyQ0csVUFBVSxDQUFDLEVBQUUsTUFBTSxFQUFzQjtRQUNyQyxNQUFNLENBQUMsNkJBQTZCLENBQUMsQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQztZQUNsRCxpQkFBaUIsRUFBRSxPQUFPLENBQUMsRUFBRTtnQkFDekIsS0FBSyxNQUFNLENBQUMsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLHNCQUFzQixFQUFFO29CQUNqRCxJQUFJLENBQUMsQ0FBQyxNQUFNLEtBQUssT0FBTyxDQUFDLE1BQU0sRUFBRTt3QkFDN0IsdUVBQXVFO3dCQUN2RSx1RkFBdUY7d0JBQ3ZGLE9BQU87cUJBQ1Y7aUJBQ0o7Z0JBRUQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDdEQsQ0FBQztZQUNELHlCQUF5QixFQUFFLFFBQVEsQ0FBQyxFQUFFO2dCQUNsQyxNQUFNLHVCQUF1QixHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsdUJBQXVCLElBQUksRUFBRSxDQUFDO2dCQUMzRSx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQ3ZDLElBQUksQ0FBQyxPQUFPLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsQ0FBQztZQUNoRSxDQUFDO1lBQ0QsZUFBZSxFQUFFLE9BQU8sQ0FBQyxFQUFFO2dCQUN2QixJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUU7b0JBQ25CLE1BQU0sSUFBSSxLQUFLLENBQUMsc0NBQXNDLENBQUMsQ0FBQztpQkFDM0Q7Z0JBRUQsSUFBSSxDQUFDLFlBQVksR0FBRyxPQUFPLENBQUE7WUFDL0IsQ0FBQztTQUNKLENBQUMsQ0FBQyxDQUFDO0lBQ1IsQ0FBQztJQUVELFNBQVMsQ0FBQyxFQUFFLE1BQU0sRUFBdUI7UUFDckMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQVksRUFBRSxHQUFhLEVBQUUsSUFBa0IsRUFBRSxFQUFFO1lBQ3RGLE9BQU8sZUFBZSxDQUFDLElBQUksQ0FBQyxZQUFZLElBQUksRUFBRSxDQUFDLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNwRSxDQUFDLENBQUMsQ0FBQztRQUVILE1BQU0sQ0FBQyxHQUFHLENBQUMscUJBQXFCLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFZLEVBQUUsR0FBYSxFQUFFLElBQWtCLEVBQUUsRUFBRTtZQUN0RixPQUFPLGtCQUFrQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQzVELENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztDQUNKIn0=
|
package/dist/esm/token.js
CHANGED
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
import createError from "http-errors";
|
|
2
|
-
/**
|
|
3
|
-
export const addTokenRequestBuilder = (context, token) => ({ ...context, token });
|
|
4
|
-
/** @internal Express middleware for parsing bearer tokens for a request. */
|
|
2
|
+
/** Express middleware for parsing bearer tokens for a request. */
|
|
5
3
|
export const tokenMiddleware = (options) => (req, res, next) => {
|
|
6
4
|
// TODO: the OAuth Bearer Token spec allows the token to be sent via header, body, or query but we are only going to support header for now
|
|
7
5
|
// https://tools.ietf.org/html/rfc6750#section-2
|
|
@@ -28,9 +26,7 @@ export const tokenMiddleware = (options) => (req, res, next) => {
|
|
|
28
26
|
token = req.query[key];
|
|
29
27
|
}
|
|
30
28
|
}
|
|
31
|
-
|
|
32
|
-
req.contextBuilder.addToken(token);
|
|
33
|
-
}
|
|
29
|
+
req.context.token = token;
|
|
34
30
|
}
|
|
35
31
|
next();
|
|
36
32
|
};
|
|
@@ -112,4 +108,4 @@ function buildAuthenticateHeader(options) {
|
|
|
112
108
|
}
|
|
113
109
|
return result.trim();
|
|
114
110
|
}
|
|
115
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
111
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdG9rZW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxXQUEwQixNQUFNLGFBQWEsQ0FBQztBQWdDckQsa0VBQWtFO0FBQ2xFLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxDQUFDLE9BQXNCLEVBQUUsRUFBRSxDQUFDLENBQUMsR0FBWSxFQUFFLEdBQWEsRUFBRSxJQUFrQixFQUFFLEVBQUU7SUFDM0csMklBQTJJO0lBQzNJLGdEQUFnRDtJQUVoRCxJQUFJLEdBQUcsQ0FBQyxPQUFPLEVBQUU7UUFDYixNQUFNLEdBQUcsR0FBRyxPQUFPLENBQUMsR0FBRyxJQUFJLGNBQWMsQ0FBQztRQUMxQyxJQUFJLEtBQXlCLENBQUM7UUFFOUIsSUFBSSxHQUFHLENBQUMsT0FBTyxDQUFDLGFBQWEsRUFBRTtZQUMzQixNQUFNLEtBQUssR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztZQUNoRSxJQUFJLEtBQUssRUFBRTtnQkFDUCxLQUFLLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQ3BCO1NBQ0o7UUFFRCxJQUFJLEdBQUcsQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDLEtBQUssbUNBQW1DLElBQUksR0FBRyxDQUFDLElBQUksSUFBSSxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ2xHLElBQUksS0FBSyxFQUFFO2dCQUNQLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQywrQkFBK0IsQ0FBQyxDQUFDLENBQUM7YUFDaEU7WUFFRCxLQUFLLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUN6QjtRQUVELElBQUksR0FBRyxDQUFDLEtBQUssSUFBSSxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQzdCLElBQUksS0FBSyxFQUFF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
|
package/dist/identity.d.ts
CHANGED
|
@@ -2,14 +2,7 @@ import { NextFunction, Request, Response } from "express";
|
|
|
2
2
|
import { IAuthenticationHandler, IAuthenticationObserver, IChallengeParameters } from "./authentication";
|
|
3
3
|
declare module "@shrub/express/dist/request-context" {
|
|
4
4
|
interface IRequestContext {
|
|
5
|
-
|
|
6
|
-
}
|
|
7
|
-
interface IRequestContextBuilder {
|
|
8
|
-
/**
|
|
9
|
-
* Adds the identity to the request context with an optional set of properties.
|
|
10
|
-
* The options are optional; by default, the options configured with the module will be used.
|
|
11
|
-
*/
|
|
12
|
-
addIdentity(options?: IIdentityOptions): IRequestContextBuilder;
|
|
5
|
+
identity?: IIdentity;
|
|
13
6
|
}
|
|
14
7
|
}
|
|
15
8
|
export interface IChallengeOptions {
|
|
@@ -59,3 +52,5 @@ export interface IIdentityOptions {
|
|
|
59
52
|
/** An optional list of authentication observers. */
|
|
60
53
|
readonly authenticationObservers?: IAuthenticationObserver[];
|
|
61
54
|
}
|
|
55
|
+
/** Identity middleware for adding the identity and authenticating the current request. */
|
|
56
|
+
export declare const identityMiddleware: (options: IIdentityOptions) => (req: Request, res: Response, next: NextFunction) => void;
|
package/dist/identity.js
CHANGED
|
@@ -3,15 +3,32 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.identityMiddleware =
|
|
6
|
+
exports.identityMiddleware = void 0;
|
|
7
7
|
const http_errors_1 = __importDefault(require("http-errors"));
|
|
8
|
-
/**
|
|
9
|
-
const
|
|
8
|
+
/** Identity middleware for adding the identity and authenticating the current request. */
|
|
9
|
+
const identityMiddleware = (options) => (req, res, next) => {
|
|
10
|
+
const identity = createIdentity(req.context, options);
|
|
11
|
+
req.context.identity = identity;
|
|
12
|
+
identity.authenticate().then(result => {
|
|
13
|
+
if (result.isChallenged) {
|
|
14
|
+
identity.challenge(req, res, next);
|
|
15
|
+
}
|
|
16
|
+
else if (result.isDenied) {
|
|
17
|
+
identity.deny(req, res, next);
|
|
18
|
+
}
|
|
19
|
+
else {
|
|
20
|
+
next(result.error);
|
|
21
|
+
}
|
|
22
|
+
})
|
|
23
|
+
.catch(err => next(err));
|
|
24
|
+
};
|
|
25
|
+
exports.identityMiddleware = identityMiddleware;
|
|
26
|
+
function createIdentity(context, options) {
|
|
10
27
|
const handlers = options.authenticationHandlers;
|
|
11
28
|
let result;
|
|
12
29
|
let scheme;
|
|
13
30
|
let claims;
|
|
14
|
-
|
|
31
|
+
return {
|
|
15
32
|
get claims() {
|
|
16
33
|
return claims;
|
|
17
34
|
},
|
|
@@ -121,29 +138,7 @@ const addIdentityRequestBuilder = (context, options) => {
|
|
|
121
138
|
}
|
|
122
139
|
}
|
|
123
140
|
};
|
|
124
|
-
|
|
125
|
-
context = { ...context, identity };
|
|
126
|
-
return context;
|
|
127
|
-
};
|
|
128
|
-
exports.addIdentityRequestBuilder = addIdentityRequestBuilder;
|
|
129
|
-
/** @internal Identity middleware for adding the identity and authenticating the current request. */
|
|
130
|
-
const identityMiddleware = (options) => (req, res, next) => {
|
|
131
|
-
req.contextBuilder.addIdentity(options);
|
|
132
|
-
const identity = req.context.identity;
|
|
133
|
-
identity.authenticate().then(result => {
|
|
134
|
-
if (result.isChallenged) {
|
|
135
|
-
identity.challenge(req, res, next);
|
|
136
|
-
}
|
|
137
|
-
else if (result.isDenied) {
|
|
138
|
-
identity.deny(req, res, next);
|
|
139
|
-
}
|
|
140
|
-
else {
|
|
141
|
-
next(result.error);
|
|
142
|
-
}
|
|
143
|
-
})
|
|
144
|
-
.catch(err => next(err));
|
|
145
|
-
};
|
|
146
|
-
exports.identityMiddleware = identityMiddleware;
|
|
141
|
+
}
|
|
147
142
|
function on(observers, getCallback, invoke) {
|
|
148
143
|
if (observers) {
|
|
149
144
|
observers.forEach(observer => {
|
|
@@ -188,4 +183,4 @@ function getHandler(handlers, scheme) {
|
|
|
188
183
|
}
|
|
189
184
|
return undefined;
|
|
190
185
|
}
|
|
191
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
186
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWRlbnRpdHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaWRlbnRpdHkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBRUEsOERBQXNDO0FBNER0QywwRkFBMEY7QUFDbkYsTUFBTSxrQkFBa0IsR0FBRyxDQUFDLE9BQXlCLEVBQUUsRUFBRSxDQUFDLENBQUMsR0FBWSxFQUFFLEdBQWEsRUFBRSxJQUFrQixFQUFFLEVBQUU7SUFDakgsTUFBTSxRQUFRLEdBQUcsY0FBYyxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDdEQsR0FBRyxDQUFDLE9BQU8sQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFBO0lBQy9CLFFBQVEsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUU7UUFDbEMsSUFBSSxNQUFNLENBQUMsWUFBWSxFQUFFO1lBQ3JCLFFBQVEsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQztTQUN0QzthQUNJLElBQUksTUFBTSxDQUFDLFFBQVEsRUFBRTtZQUN0QixRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUM7U0FDakM7YUFDSTtZQUNELElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDdEI7SUFDTCxDQUFDLENBQUM7U0FDRCxLQUFLLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztBQUM3QixDQUFDLENBQUM7QUFmVyxRQUFBLGtCQUFrQixzQkFlN0I7QUFFRixTQUFTLGNBQWMsQ0FBQyxPQUF3QixFQUFFLE9BQXlCO0lBQ3ZFLE1BQU0sUUFBUSxHQUFHLE9BQU8sQ0FBQyxzQkFBc0IsQ0FBQztJQUNoRCxJQUFJLE1BQXVDLENBQUM7SUFDNUMsSUFBSSxNQUEwQixDQUFDO0lBQy9CLElBQUksTUFB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
|
package/dist/index.d.ts
CHANGED
package/dist/index.js
CHANGED
|
@@ -12,7 +12,8 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
12
12
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
13
|
__exportStar(require("./authentication"), exports);
|
|
14
14
|
__exportStar(require("./authorization"), exports);
|
|
15
|
+
__exportStar(require("./identity"), exports);
|
|
15
16
|
__exportStar(require("./module"), exports);
|
|
16
17
|
__exportStar(require("./session"), exports);
|
|
17
18
|
__exportStar(require("./token"), exports);
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQUEsbURBQWlDO0FBQ2pDLGtEQUFnQztBQUNoQyw2Q0FBMkI7QUFDM0IsMkNBQXlCO0FBQ3pCLDRDQUEwQjtBQUMxQiwwQ0FBd0IifQ==
|
package/dist/module.d.ts
CHANGED
|
@@ -9,6 +9,11 @@ export interface IExpressIdentityConfiguration {
|
|
|
9
9
|
useAuthenticationObserver(observer: IAuthenticationObserver): void;
|
|
10
10
|
useTokenOptions(options: ITokenOptions): void;
|
|
11
11
|
}
|
|
12
|
+
/**
|
|
13
|
+
* Express module that installs identity and token middleware. Note, the package also supports authorization
|
|
14
|
+
* but this is not installed by default and needs to be added via the authorization middleware; this allows
|
|
15
|
+
* better control over the endpoints that require and do not require authorization.
|
|
16
|
+
*/
|
|
12
17
|
export declare class ExpressIdentityModule implements IModule {
|
|
13
18
|
private options;
|
|
14
19
|
private tokenOptions?;
|
package/dist/module.js
CHANGED
|
@@ -7,6 +7,11 @@ const express_session_1 = require("@shrub/express-session");
|
|
|
7
7
|
const identity_1 = require("./identity");
|
|
8
8
|
const token_1 = require("./token");
|
|
9
9
|
exports.IExpressIdentityConfiguration = core_1.createConfig();
|
|
10
|
+
/**
|
|
11
|
+
* Express module that installs identity and token middleware. Note, the package also supports authorization
|
|
12
|
+
* but this is not installed by default and needs to be added via the authorization middleware; this allows
|
|
13
|
+
* better control over the endpoints that require and do not require authorization.
|
|
14
|
+
*/
|
|
10
15
|
class ExpressIdentityModule {
|
|
11
16
|
constructor() {
|
|
12
17
|
this.options = { authenticationHandlers: [] };
|
|
@@ -42,10 +47,6 @@ class ExpressIdentityModule {
|
|
|
42
47
|
}));
|
|
43
48
|
}
|
|
44
49
|
configure({ config }) {
|
|
45
|
-
config.get(express_1.IExpressConfiguration).useRequestBuilder("addToken", token_1.addTokenRequestBuilder);
|
|
46
|
-
config.get(express_1.IExpressConfiguration).useRequestBuilder("addIdentity", (context, options) => {
|
|
47
|
-
return identity_1.addIdentityRequestBuilder(context, options || this.options);
|
|
48
|
-
});
|
|
49
50
|
config.get(express_1.IExpressConfiguration).use((req, res, next) => {
|
|
50
51
|
return token_1.tokenMiddleware(this.tokenOptions || {})(req, res, next);
|
|
51
52
|
});
|
|
@@ -55,4 +56,4 @@ class ExpressIdentityModule {
|
|
|
55
56
|
}
|
|
56
57
|
}
|
|
57
58
|
exports.ExpressIdentityModule = ExpressIdentityModule;
|
|
58
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
59
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL21vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSxzQ0FBNkY7QUFDN0YsNENBQXNFO0FBQ3RFLDREQUE4RDtBQUU5RCx5Q0FBa0U7QUFDbEUsbUNBQXlEO0FBRTVDLFFBQUEsNkJBQTZCLEdBQUcsbUJBQVksRUFBaUMsQ0FBQztBQU8zRjs7OztHQUlHO0FBQ0gsTUFBYSxxQkFBcUI7SUFBbEM7UUFDWSxZQUFPLEdBQXFCLEVBQUUsc0JBQXNCLEVBQUUsRUFBRSxFQUFFLENBQUM7UUFHMUQsU0FBSSxHQUFHLGtCQUFrQixDQUFDO1FBQzFCLGlCQUFZLEdBQUc7WUFDcEIsdUJBQWE7WUFDYixzQ0FBb0I7U0FDdkIsQ0FBQztJQXVDTixDQUFDO0lBckNHLFVBQVUsQ0FBQyxFQUFFLE1BQU0sRUFBc0I7UUFDckMsTUFBTSxDQUFDLHFDQUE2QixDQUFDLENBQUMsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUM7WUFDbEQsaUJBQWlCLEVBQUUsT0FBTyxDQUFDLEVBQUU7Z0JBQ3pCLEtBQUssTUFBTSxDQUFDLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxzQkFBc0IsRUFBRTtvQkFDakQsSUFBSSxDQUFDLENBQUMsTUFBTSxLQUFLLE9BQU8sQ0FBQyxNQUFNLEVBQUU7d0JBQzdCLHVFQUF1RTt3QkFDdkUsdUZBQXVGO3dCQUN2RixPQUFPO3FCQUNWO2lCQUNKO2dCQUVELElBQUksQ0FBQyxPQUFPLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3RELENBQUM7WUFDRCx5QkFBeUIsRUFBRSxRQUFRLENBQUMsRUFBRTtnQkFDbEMsTUFBTSx1QkFBdUIsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLHVCQUF1QixJQUFJLEVBQUUsQ0FBQztnQkFDM0UsdUJBQXVCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUN2QyxJQUFJLENBQUMsT0FBTyxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLENBQUM7WUFDaEUsQ0FBQztZQUNELGVBQWUsRUFBRSxPQUFPLENBQUMsRUFBRTtnQkFDdkIsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFO29CQUNuQixNQUFNLElBQUksS0FBSyxDQUFDLHNDQUFzQyxDQUFDLENBQUM7aUJBQzNEO2dCQUVELElBQUksQ0FBQyxZQUFZLEdBQUcsT0FBTyxDQUFBO1lBQy9CLENBQUM7U0FDSixDQUFDLENBQUMsQ0FBQztJQUNSLENBQUM7SUFFRCxTQUFTLENBQUMsRUFBRSxNQUFNLEVBQXVCO1FBQ3JDLE1BQU0sQ0FBQyxHQUFHLENBQUMsK0JBQXFCLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFZLEVBQUUsR0FBYSxFQUFFLElBQWtCLEVBQUUsRUFBRTtZQUN0RixPQUFPLHVCQUFlLENBQUMsSUFBSSxDQUFDLFlBQVksSUFBSSxFQUFFLENBQUMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3BFLENBQUMsQ0FBQyxDQUFDO1FBRUgsTUFBTSxDQUFDLEdBQUcsQ0FBQywrQkFBcUIsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQVksRUFBRSxHQUFhLEVBQUUsSUFBa0IsRUFBRSxFQUFFO1lBQ3RGLE9BQU8sNkJBQWtCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDNUQsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0NBQ0o7QUEvQ0Qsc0RBK0NDIn0=
|
package/dist/token.d.ts
CHANGED
|
@@ -1,10 +1,8 @@
|
|
|
1
|
+
import { NextFunction, Request, Response } from "express";
|
|
1
2
|
import { IAuthenticationHandler } from "./authentication";
|
|
2
3
|
declare module "@shrub/express/dist/request-context" {
|
|
3
4
|
interface IRequestContext {
|
|
4
|
-
|
|
5
|
-
}
|
|
6
|
-
interface IRequestContextBuilder {
|
|
7
|
-
addToken(token: string): IRequestContextBuilder;
|
|
5
|
+
token?: string;
|
|
8
6
|
}
|
|
9
7
|
}
|
|
10
8
|
/** Defines options for parsing the bearer token from a request. */
|
|
@@ -21,6 +19,8 @@ export interface ITokenAuthenticationOptions {
|
|
|
21
19
|
/** A callback to verify the bearer token and return the identity claims associated with the token if successful. */
|
|
22
20
|
readonly verifyToken: (token: string, success: (claims: any) => void, fail: (reason: string) => void) => void;
|
|
23
21
|
}
|
|
22
|
+
/** Express middleware for parsing bearer tokens for a request. */
|
|
23
|
+
export declare const tokenMiddleware: (options: ITokenOptions) => (req: Request, res: Response, next: NextFunction) => void;
|
|
24
24
|
/**
|
|
25
25
|
* Bearer token authentication handler. https://tools.ietf.org/html/rfc6750
|
|
26
26
|
* Note: tokenMiddleware must also be used if this is intended to be used in the express middleware pipeline.
|
package/dist/token.js
CHANGED
|
@@ -3,12 +3,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.tokenAuthentication = exports.tokenMiddleware =
|
|
6
|
+
exports.tokenAuthentication = exports.tokenMiddleware = void 0;
|
|
7
7
|
const http_errors_1 = __importDefault(require("http-errors"));
|
|
8
|
-
/**
|
|
9
|
-
const addTokenRequestBuilder = (context, token) => ({ ...context, token });
|
|
10
|
-
exports.addTokenRequestBuilder = addTokenRequestBuilder;
|
|
11
|
-
/** @internal Express middleware for parsing bearer tokens for a request. */
|
|
8
|
+
/** Express middleware for parsing bearer tokens for a request. */
|
|
12
9
|
const tokenMiddleware = (options) => (req, res, next) => {
|
|
13
10
|
// TODO: the OAuth Bearer Token spec allows the token to be sent via header, body, or query but we are only going to support header for now
|
|
14
11
|
// https://tools.ietf.org/html/rfc6750#section-2
|
|
@@ -35,9 +32,7 @@ const tokenMiddleware = (options) => (req, res, next) => {
|
|
|
35
32
|
token = req.query[key];
|
|
36
33
|
}
|
|
37
34
|
}
|
|
38
|
-
|
|
39
|
-
req.contextBuilder.addToken(token);
|
|
40
|
-
}
|
|
35
|
+
req.context.token = token;
|
|
41
36
|
}
|
|
42
37
|
next();
|
|
43
38
|
};
|
|
@@ -121,4 +116,4 @@ function buildAuthenticateHeader(options) {
|
|
|
121
116
|
}
|
|
122
117
|
return result.trim();
|
|
123
118
|
}
|
|
124
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
119
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdG9rZW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQ0EsOERBQXFEO0FBZ0NyRCxrRUFBa0U7QUFDM0QsTUFBTSxlQUFlLEdBQUcsQ0FBQyxPQUFzQixFQUFFLEVBQUUsQ0FBQyxDQUFDLEdBQVksRUFBRSxHQUFhLEVBQUUsSUFBa0IsRUFBRSxFQUFFO0lBQzNHLDJJQUEySTtJQUMzSSxnREFBZ0Q7SUFFaEQsSUFBSSxHQUFHLENBQUMsT0FBTyxFQUFFO1FBQ2IsTUFBTSxHQUFHLEdBQUcsT0FBTyxDQUFDLEdBQUcsSUFBSSxjQUFjLENBQUM7UUFDMUMsSUFBSSxLQUF5QixDQUFDO1FBRTlCLElBQUksR0FBRyxDQUFDLE9BQU8sQ0FBQyxhQUFhLEVBQUU7WUFDM0IsTUFBTSxLQUFLLEdBQUcsR0FBRyxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLGdCQUFnQixDQUFDLENBQUM7WUFDaEUsSUFBSSxLQUFLLEVBQUU7Z0JBQ1AsS0FBSyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUNwQjtTQUNKO1FBRUQsSUFBSSxHQUFHLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxLQUFLLG1DQUFtQyxJQUFJLEdBQUcsQ0FBQyxJQUFJLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUNsRyxJQUFJLEtBQUssRUFBRTtnQkFDUCxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsK0JBQStCLENBQUMsQ0FBQyxDQUFDO2FBQ2hFO1lBRUQsS0FBSyxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDekI7UUFFRCxJQUFJLEdBQUcsQ0FBQyxLQUFLLElBQUksR0FBRyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUM3QixJQUFJLEtBQUssRUFBRTtnQkFDUCxPQUFPLElBQUksQ0FBQyxjQUFj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
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@shrub/express-identity",
|
|
3
3
|
"description": "Express module that provides middleware for managing authenticated users.",
|
|
4
|
-
"version": "0.5.
|
|
4
|
+
"version": "0.5.35",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
7
7
|
"type": "git",
|
|
@@ -26,9 +26,9 @@
|
|
|
26
26
|
"test": "jest"
|
|
27
27
|
},
|
|
28
28
|
"dependencies": {
|
|
29
|
-
"@shrub/core": "0.5.
|
|
30
|
-
"@shrub/express": "0.5.
|
|
31
|
-
"@shrub/express-session": "0.5.
|
|
29
|
+
"@shrub/core": "0.5.35",
|
|
30
|
+
"@shrub/express": "0.5.35",
|
|
31
|
+
"@shrub/express-session": "0.5.35",
|
|
32
32
|
"express": "^4.17.1",
|
|
33
33
|
"http-errors": "^1.7.3"
|
|
34
34
|
},
|
|
@@ -36,5 +36,5 @@
|
|
|
36
36
|
"@types/express": "4.17.9",
|
|
37
37
|
"@types/http-errors": "^1.6.2"
|
|
38
38
|
},
|
|
39
|
-
"gitHead": "
|
|
39
|
+
"gitHead": "c10d4d9a1aa5f28454b4921e1bb5887abd9447b1"
|
|
40
40
|
}
|