@prauga/flexdoc-backend 2.2.0 → 2.3.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/dist/auth.d.ts +11 -0
- package/dist/auth.js +99 -0
- package/dist/auth.js.map +1 -0
- package/dist/auth.test.d.ts +1 -0
- package/dist/auth.test.js +57 -0
- package/dist/auth.test.js.map +1 -0
- package/dist/hono-adapter.d.ts +12 -0
- package/dist/hono-adapter.js +63 -0
- package/dist/hono-adapter.js.map +1 -0
- package/dist/hono-adapter.test.d.ts +1 -0
- package/dist/hono-adapter.test.js +82 -0
- package/dist/hono-adapter.test.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/interfaces.d.ts +5 -0
- package/dist/renderer/flexdoc.standalone.css +1 -1
- package/dist/renderer/flexdoc.standalone.js +50 -47
- package/dist/setup.js +7 -62
- package/dist/setup.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
package/dist/setup.js
CHANGED
|
@@ -36,73 +36,18 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
36
36
|
exports.setupFlexDoc = setupFlexDoc;
|
|
37
37
|
const template_1 = require("./template");
|
|
38
38
|
const renderer_assets_1 = require("./renderer-assets");
|
|
39
|
-
const
|
|
40
|
-
const jwt = __importStar(require("jsonwebtoken"));
|
|
39
|
+
const auth_1 = require("./auth");
|
|
41
40
|
const http = __importStar(require("http"));
|
|
42
41
|
const https = __importStar(require("https"));
|
|
43
|
-
function generatePassword(username, secret) {
|
|
44
|
-
const hmac = crypto.createHmac('sha256', secret);
|
|
45
|
-
hmac.update(username);
|
|
46
|
-
const hash = hmac.digest('base64');
|
|
47
|
-
const basePassword = hash.substring(0, 12);
|
|
48
|
-
let password = basePassword;
|
|
49
|
-
if (!/[A-Z]/.test(password))
|
|
50
|
-
password += 'A';
|
|
51
|
-
if (!/[a-z]/.test(password))
|
|
52
|
-
password += 'a';
|
|
53
|
-
if (!/[0-9]/.test(password))
|
|
54
|
-
password += '1';
|
|
55
|
-
if (!/[^A-Za-z0-9]/.test(password))
|
|
56
|
-
password += '!';
|
|
57
|
-
return password;
|
|
58
|
-
}
|
|
59
42
|
function createAuthMiddleware(authOptions) {
|
|
60
43
|
return (req, res, next) => {
|
|
61
|
-
const
|
|
62
|
-
|
|
63
|
-
if (type === 'basic') {
|
|
64
|
-
if (!authHeader || !authHeader.startsWith('Basic ')) {
|
|
65
|
-
res.statusCode = 401;
|
|
66
|
-
res.setHeader('WWW-Authenticate', 'Basic');
|
|
67
|
-
return res.end('Authentication required');
|
|
68
|
-
}
|
|
69
|
-
const credentials = Buffer.from(authHeader.split(' ')[1], 'base64').toString('ascii');
|
|
70
|
-
const separatorIndex = credentials.indexOf(':');
|
|
71
|
-
const username = separatorIndex === -1 ? credentials : credentials.slice(0, separatorIndex);
|
|
72
|
-
const password = separatorIndex === -1 ? '' : credentials.slice(separatorIndex + 1);
|
|
73
|
-
if (password !== generatePassword(username, secretKey)) {
|
|
74
|
-
res.statusCode = 401;
|
|
75
|
-
res.setHeader('WWW-Authenticate', 'Basic');
|
|
76
|
-
return res.end('Invalid credentials');
|
|
77
|
-
}
|
|
44
|
+
const decision = (0, auth_1.authorizeFlexDocRequest)(req.headers.authorization, authOptions);
|
|
45
|
+
if (decision.authorized)
|
|
78
46
|
return next();
|
|
79
|
-
|
|
80
|
-
if (
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
token = authHeader.split(' ')[1];
|
|
84
|
-
}
|
|
85
|
-
else if (authHeader?.startsWith('Basic ')) {
|
|
86
|
-
const credentials = Buffer.from(authHeader.split(' ')[1], 'base64').toString('ascii');
|
|
87
|
-
const separatorIndex = credentials.indexOf(':');
|
|
88
|
-
token = separatorIndex === -1 ? undefined : credentials.slice(separatorIndex + 1);
|
|
89
|
-
}
|
|
90
|
-
if (token) {
|
|
91
|
-
try {
|
|
92
|
-
jwt.verify(token, secretKey);
|
|
93
|
-
return next();
|
|
94
|
-
}
|
|
95
|
-
catch {
|
|
96
|
-
res.statusCode = 401;
|
|
97
|
-
res.setHeader('WWW-Authenticate', 'Basic realm="Enter token as password"');
|
|
98
|
-
return res.end('Invalid or expired token');
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
res.statusCode = 401;
|
|
102
|
-
res.setHeader('WWW-Authenticate', 'Basic realm="Enter token as password"');
|
|
103
|
-
return res.end('Authentication required');
|
|
104
|
-
}
|
|
105
|
-
return next();
|
|
47
|
+
res.statusCode = 401;
|
|
48
|
+
if (decision.challenge)
|
|
49
|
+
res.setHeader('WWW-Authenticate', decision.challenge);
|
|
50
|
+
return res.end(decision.message || 'Authentication required');
|
|
106
51
|
};
|
|
107
52
|
}
|
|
108
53
|
function fetchJson(urlString, redirectsRemaining = 3) {
|
package/dist/setup.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup.js","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"setup.js","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":"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"}
|