@athosjs/pro 0.1.4-alpha
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/README.md +518 -0
- package/bootstrap.cjs +107 -0
- package/bootstrap.cjs.map +1 -0
- package/bootstrap.d.ts +8 -0
- package/bootstrap.d.ts.map +1 -0
- package/bootstrap.js +103 -0
- package/bootstrap.js.map +1 -0
- package/core/athos-application.cjs +362 -0
- package/core/athos-application.cjs.map +1 -0
- package/core/athos-application.d.ts +17 -0
- package/core/athos-application.d.ts.map +1 -0
- package/core/athos-application.js +357 -0
- package/core/athos-application.js.map +1 -0
- package/core/discovery.cjs +47 -0
- package/core/discovery.cjs.map +1 -0
- package/core/discovery.d.ts +6 -0
- package/core/discovery.d.ts.map +1 -0
- package/core/discovery.js +45 -0
- package/core/discovery.js.map +1 -0
- package/core/i18n.cjs +12 -0
- package/core/i18n.cjs.map +1 -0
- package/core/i18n.d.ts +4 -0
- package/core/i18n.d.ts.map +1 -0
- package/core/i18n.js +10 -0
- package/core/i18n.js.map +1 -0
- package/core/pipeline.cjs +251 -0
- package/core/pipeline.cjs.map +1 -0
- package/core/pipeline.d.ts +11 -0
- package/core/pipeline.d.ts.map +1 -0
- package/core/pipeline.js +246 -0
- package/core/pipeline.js.map +1 -0
- package/core/router-initializer.cjs +158 -0
- package/core/router-initializer.cjs.map +1 -0
- package/core/router-initializer.d.ts +26 -0
- package/core/router-initializer.d.ts.map +1 -0
- package/core/router-initializer.js +156 -0
- package/core/router-initializer.js.map +1 -0
- package/core/scanner.cjs +141 -0
- package/core/scanner.cjs.map +1 -0
- package/core/scanner.d.ts +7 -0
- package/core/scanner.d.ts.map +1 -0
- package/core/scanner.js +139 -0
- package/core/scanner.js.map +1 -0
- package/experimental.cjs +23 -0
- package/experimental.cjs.map +1 -0
- package/experimental.d.ts +9 -0
- package/experimental.d.ts.map +1 -0
- package/experimental.js +5 -0
- package/experimental.js.map +1 -0
- package/functions.cjs +67 -0
- package/functions.cjs.map +1 -0
- package/functions.d.ts +10 -0
- package/functions.d.ts.map +1 -0
- package/functions.js +62 -0
- package/functions.js.map +1 -0
- package/http-profile.cjs +48 -0
- package/http-profile.cjs.map +1 -0
- package/http-profile.d.ts +6 -0
- package/http-profile.d.ts.map +1 -0
- package/http-profile.js +44 -0
- package/http-profile.js.map +1 -0
- package/index.cjs +281 -0
- package/index.cjs.map +1 -0
- package/index.d.ts +23 -0
- package/index.d.ts.map +1 -0
- package/index.js +23 -0
- package/index.js.map +1 -0
- package/observability.cjs +191 -0
- package/observability.cjs.map +1 -0
- package/observability.d.ts +8 -0
- package/observability.d.ts.map +1 -0
- package/observability.js +188 -0
- package/observability.js.map +1 -0
- package/package.json +42 -0
- package/policies.cjs +30 -0
- package/policies.cjs.map +1 -0
- package/policies.d.ts +21 -0
- package/policies.d.ts.map +1 -0
- package/policies.js +27 -0
- package/policies.js.map +1 -0
- package/resilience.cjs +280 -0
- package/resilience.cjs.map +1 -0
- package/resilience.d.ts +6 -0
- package/resilience.d.ts.map +1 -0
- package/resilience.js +276 -0
- package/resilience.js.map +1 -0
- package/security.cjs +142 -0
- package/security.cjs.map +1 -0
- package/security.d.ts +11 -0
- package/security.d.ts.map +1 -0
- package/security.js +136 -0
- package/security.js.map +1 -0
- package/types.d.ts +3 -0
- package/types.d.ts.map +1 -0
package/security.js
ADDED
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
import { getAuthentication, authenticate, attachAuthentication, authenticatedSubject, AUTH_STATE_KEY, authorize } from '@athosjs/auth';
|
|
2
|
+
import { ATHOS_ERROR_CODES, ATHOS_STATE_KEYS } from '@athosjs/constants';
|
|
3
|
+
import { AthosError } from '@athosjs/core';
|
|
4
|
+
import { json } from '@athosjs/http';
|
|
5
|
+
|
|
6
|
+
function createProAuthenticationMiddleware(options) {
|
|
7
|
+
return async (context, next)=>{
|
|
8
|
+
const typedContext = context;
|
|
9
|
+
const existing = getAuthentication(typedContext);
|
|
10
|
+
if (options.skipIfAuthenticated !== false && existing?.authenticated) {
|
|
11
|
+
return next();
|
|
12
|
+
}
|
|
13
|
+
const strategies = typeof options.strategies === "function" ? options.strategies(typedContext) : options.strategies;
|
|
14
|
+
const result = await authenticate(typedContext, strategies, {
|
|
15
|
+
...options.stopOnFailure === undefined ? {} : {
|
|
16
|
+
stopOnFailure: options.stopOnFailure
|
|
17
|
+
}
|
|
18
|
+
});
|
|
19
|
+
attachAuthentication(typedContext, result);
|
|
20
|
+
if (result.authenticated || !options.required) {
|
|
21
|
+
return next();
|
|
22
|
+
}
|
|
23
|
+
if (options.onUnauthenticated) {
|
|
24
|
+
return options.onUnauthenticated(typedContext, result);
|
|
25
|
+
}
|
|
26
|
+
return createAuthenticationFailureResponse(result);
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
function createProAuthorizationMiddleware(options) {
|
|
30
|
+
return async (context, next)=>{
|
|
31
|
+
const typedContext = context;
|
|
32
|
+
const authState = getAuthentication(typedContext);
|
|
33
|
+
let subject;
|
|
34
|
+
try {
|
|
35
|
+
subject = options.getSubject ? options.getSubject(typedContext) : authenticatedSubject(authState ?? {
|
|
36
|
+
authenticated: false,
|
|
37
|
+
identity: undefined,
|
|
38
|
+
attempts: [],
|
|
39
|
+
challenges: []
|
|
40
|
+
});
|
|
41
|
+
} catch (error) {
|
|
42
|
+
if (error instanceof AthosError && error.code === ATHOS_ERROR_CODES.AUTH_UNAUTHENTICATED) {
|
|
43
|
+
typedContext.state.set(AUTH_STATE_KEY, authState);
|
|
44
|
+
if (options.onUnauthenticated) {
|
|
45
|
+
return options.onUnauthenticated(typedContext, error);
|
|
46
|
+
}
|
|
47
|
+
return createAuthenticationFailureResponse({
|
|
48
|
+
attempts: authState?.attempts ?? [],
|
|
49
|
+
challenges: authState?.challenges ?? [],
|
|
50
|
+
...authState?.failure ? {
|
|
51
|
+
failure: authState.failure
|
|
52
|
+
} : {}
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
throw error;
|
|
56
|
+
}
|
|
57
|
+
const decisionInput = {
|
|
58
|
+
subject,
|
|
59
|
+
...options.getResource ? {
|
|
60
|
+
resource: options.getResource(typedContext)
|
|
61
|
+
} : {},
|
|
62
|
+
...options.getEnvironment ? {
|
|
63
|
+
context: options.getEnvironment(typedContext)
|
|
64
|
+
} : {}
|
|
65
|
+
};
|
|
66
|
+
const decision = await authorize(options.policy, decisionInput);
|
|
67
|
+
typedContext.state.set(ATHOS_STATE_KEYS.AUTHZ, decision);
|
|
68
|
+
if (decision.allowed) {
|
|
69
|
+
return next();
|
|
70
|
+
}
|
|
71
|
+
if (options.onForbidden) {
|
|
72
|
+
return options.onForbidden(typedContext, decision);
|
|
73
|
+
}
|
|
74
|
+
return createAuthorizationFailureResponse(decision);
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
function createAuthenticationFailureResponse(result) {
|
|
78
|
+
const response = json({
|
|
79
|
+
error: "unauthorized",
|
|
80
|
+
authenticated: false,
|
|
81
|
+
...result.failure ? {
|
|
82
|
+
failure: {
|
|
83
|
+
strategy: result.failure.strategy,
|
|
84
|
+
reason: result.failure.reason,
|
|
85
|
+
reasonCode: result.failure.reasonCode
|
|
86
|
+
}
|
|
87
|
+
} : {},
|
|
88
|
+
challenges: result.challenges
|
|
89
|
+
}, 401);
|
|
90
|
+
const headerValue = formatWwwAuthenticateHeader(result.challenges ?? []);
|
|
91
|
+
if (headerValue) {
|
|
92
|
+
response.headers.set?.("www-authenticate", headerValue);
|
|
93
|
+
}
|
|
94
|
+
return response;
|
|
95
|
+
}
|
|
96
|
+
function createAuthorizationFailureResponse(decision) {
|
|
97
|
+
return json({
|
|
98
|
+
error: "forbidden",
|
|
99
|
+
allowed: false,
|
|
100
|
+
...decision.policy ? {
|
|
101
|
+
policy: decision.policy
|
|
102
|
+
} : {},
|
|
103
|
+
...decision.code ? {
|
|
104
|
+
code: decision.code
|
|
105
|
+
} : {},
|
|
106
|
+
...decision.reason ? {
|
|
107
|
+
reason: decision.reason
|
|
108
|
+
} : {}
|
|
109
|
+
}, 403);
|
|
110
|
+
}
|
|
111
|
+
function formatWwwAuthenticateHeader(challenges) {
|
|
112
|
+
if (challenges.length === 0) {
|
|
113
|
+
return undefined;
|
|
114
|
+
}
|
|
115
|
+
return challenges.map(formatChallengeInstruction).join(", ");
|
|
116
|
+
}
|
|
117
|
+
function formatChallengeInstruction(challenge) {
|
|
118
|
+
const parts = [
|
|
119
|
+
challenge.scheme
|
|
120
|
+
];
|
|
121
|
+
if (challenge.realm) {
|
|
122
|
+
parts.push(`realm="${escapeHeaderValue(challenge.realm)}"`);
|
|
123
|
+
}
|
|
124
|
+
if (challenge.params) {
|
|
125
|
+
for (const [key, value] of Object.entries(challenge.params)){
|
|
126
|
+
parts.push(`${key}="${escapeHeaderValue(value)}"`);
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
return parts.join(" ");
|
|
130
|
+
}
|
|
131
|
+
function escapeHeaderValue(value) {
|
|
132
|
+
return value.replace(/\\/g, "\\\\").replace(/"/g, '\\"');
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
export { createAuthenticationFailureResponse, createAuthorizationFailureResponse, createProAuthenticationMiddleware, createProAuthorizationMiddleware, formatWwwAuthenticateHeader };
|
|
136
|
+
//# sourceMappingURL=security.js.map
|
package/security.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"security.js","sources":["../../../packages/pro/src/security.ts"],"sourcesContent":["import {\n\tAUTH_STATE_KEY,\n\ttype AuthenticationResult,\n\ttype AuthIdentity,\n\ttype AuthStateCarrier,\n\ttype AuthStrategy,\n\tattachAuthentication,\n\tauthenticate,\n\tauthenticatedSubject,\n\tauthorize,\n\ttype ChallengeInstruction,\n\tgetAuthentication,\n} from \"@athosjs/auth\";\nimport type { AuthorizationContext, AuthorizationDecision, AuthorizationPolicy } from \"@athosjs/authz\";\nimport { ATHOS_ERROR_CODES, ATHOS_STATE_KEYS } from \"@athosjs/constants\";\nimport { AthosError } from \"@athosjs/core\";\nimport { type HttpContext, type HttpMiddleware, type HttpResponse, json } from \"@athosjs/http\";\nimport type { ProAuthenticationMiddlewareOptions, ProAuthorizationMiddlewareOptions } from \"@athosjs/types/pro\";\n\nexport type { ProAuthenticationMiddlewareOptions, ProAuthorizationMiddlewareOptions };\n\nexport function createProAuthenticationMiddleware<\n\tTContext extends HttpContext & AuthStateCarrier,\n\tTIdentity extends AuthIdentity = AuthIdentity,\n>(options: ProAuthenticationMiddlewareOptions<TContext, TIdentity>): HttpMiddleware {\n\treturn async (context, next) => {\n\t\tconst typedContext = context as TContext;\n\t\tconst existing = getAuthentication<TIdentity>(typedContext);\n\n\t\tif (options.skipIfAuthenticated !== false && existing?.authenticated) {\n\t\t\treturn next();\n\t\t}\n\n\t\tconst strategies =\n\t\t\ttypeof options.strategies === \"function\"\n\t\t\t\t? (options.strategies as any)(typedContext)\n\t\t\t\t: (options.strategies as readonly AuthStrategy<TContext, TIdentity>[]);\n\t\tconst result = await authenticate(typedContext, strategies as any, {\n\t\t\t...(options.stopOnFailure === undefined ? {} : { stopOnFailure: options.stopOnFailure }),\n\t\t});\n\n\t\tattachAuthentication(typedContext, result);\n\n\t\tif (result.authenticated || !options.required) {\n\t\t\treturn next();\n\t\t}\n\n\t\tif (options.onUnauthenticated) {\n\t\t\treturn (options.onUnauthenticated as any)(typedContext, result) as any;\n\t\t}\n\n\t\treturn createAuthenticationFailureResponse(result);\n\t};\n}\n\nexport function createProAuthorizationMiddleware<\n\tTContext extends HttpContext & AuthStateCarrier,\n\tTIdentity extends AuthIdentity = AuthIdentity,\n\tTResource = unknown,\n\tTEnvironment = unknown,\n>(options: ProAuthorizationMiddlewareOptions<TContext, TIdentity, TResource, TEnvironment>): HttpMiddleware {\n\treturn async (context, next) => {\n\t\tconst typedContext = context as TContext;\n\t\tconst authState = getAuthentication<TIdentity>(typedContext);\n\n\t\tlet subject: TIdentity;\n\n\t\ttry {\n\t\t\tsubject = options.getSubject\n\t\t\t\t? options.getSubject(typedContext)\n\t\t\t\t: authenticatedSubject<TIdentity>((authState ?? {\n\t\t\t\t\t\tauthenticated: false,\n\t\t\t\t\t\tidentity: undefined as any,\n\t\t\t\t\t\tattempts: [],\n\t\t\t\t\t\tchallenges: [],\n\t\t\t\t\t}) as AuthStateCarrier);\n\t\t} catch (error) {\n\t\t\tif (error instanceof AthosError && error.code === ATHOS_ERROR_CODES.AUTH_UNAUTHENTICATED) {\n\t\t\t\ttypedContext.state.set(AUTH_STATE_KEY, authState);\n\n\t\t\t\tif (options.onUnauthenticated) {\n\t\t\t\t\treturn (options.onUnauthenticated as any)(typedContext, error) as any;\n\t\t\t\t}\n\n\t\t\t\treturn createAuthenticationFailureResponse({\n\t\t\t\t\tauthenticated: false,\n\t\t\t\t\tattempts: authState?.attempts ?? [],\n\t\t\t\t\tchallenges: authState?.challenges ?? [],\n\t\t\t\t\t...(authState?.failure ? { failure: authState.failure } : {}),\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tthrow error;\n\t\t}\n\n\t\tconst decisionInput: AuthorizationContext<TIdentity, TResource, TEnvironment> = {\n\t\t\tsubject,\n\t\t\t...(options.getResource ? { resource: options.getResource(typedContext) } : {}),\n\t\t\t...(options.getEnvironment ? { context: options.getEnvironment(typedContext) } : {}),\n\t\t};\n\t\tconst decision = await authorize(\n\t\t\toptions.policy as AuthorizationPolicy<TIdentity, TResource, TEnvironment>,\n\t\t\tdecisionInput,\n\t\t);\n\n\t\ttypedContext.state.set(ATHOS_STATE_KEYS.AUTHZ, decision);\n\n\t\tif (decision.allowed) {\n\t\t\treturn next();\n\t\t}\n\n\t\tif (options.onForbidden) {\n\t\t\treturn (options.onForbidden as any)(typedContext, decision) as any;\n\t\t}\n\n\t\treturn createAuthorizationFailureResponse(decision);\n\t};\n}\n\nexport function createAuthenticationFailureResponse<TIdentity extends AuthIdentity = AuthIdentity>(\n\tresult: AuthenticationResult<TIdentity>,\n): HttpResponse {\n\tconst response = json(\n\t\t{\n\t\t\terror: \"unauthorized\",\n\t\t\tauthenticated: false,\n\t\t\t...(result.failure\n\t\t\t\t? {\n\t\t\t\t\t\tfailure: {\n\t\t\t\t\t\t\tstrategy: result.failure.strategy,\n\t\t\t\t\t\t\treason: result.failure.reason,\n\t\t\t\t\t\t\treasonCode: result.failure.reasonCode,\n\t\t\t\t\t\t},\n\t\t\t\t\t}\n\t\t\t\t: {}),\n\t\t\tchallenges: result.challenges,\n\t\t},\n\t\t401,\n\t);\n\tconst headerValue = formatWwwAuthenticateHeader(result.challenges ?? []);\n\n\tif (headerValue) {\n\t\t(response.headers as any).set?.(\"www-authenticate\", headerValue);\n\t}\n\n\treturn response;\n}\n\nexport function createAuthorizationFailureResponse(decision: AuthorizationDecision): HttpResponse {\n\treturn json(\n\t\t{\n\t\t\terror: \"forbidden\",\n\t\t\tallowed: false,\n\t\t\t...(decision.policy ? { policy: decision.policy } : {}),\n\t\t\t...(decision.code ? { code: decision.code } : {}),\n\t\t\t...(decision.reason ? { reason: decision.reason } : {}),\n\t\t},\n\t\t403,\n\t);\n}\n\nexport function formatWwwAuthenticateHeader(challenges: readonly ChallengeInstruction[]): string | undefined {\n\tif (challenges.length === 0) {\n\t\treturn undefined;\n\t}\n\n\treturn challenges.map(formatChallengeInstruction).join(\", \");\n}\n\nfunction formatChallengeInstruction(challenge: ChallengeInstruction): string {\n\tconst parts = [challenge.scheme];\n\n\tif (challenge.realm) {\n\t\tparts.push(`realm=\"${escapeHeaderValue(challenge.realm)}\"`);\n\t}\n\n\tif (challenge.params) {\n\t\tfor (const [key, value] of Object.entries(challenge.params)) {\n\t\t\tparts.push(`${key}=\"${escapeHeaderValue(value)}\"`);\n\t\t}\n\t}\n\n\treturn parts.join(\" \");\n}\n\nfunction escapeHeaderValue(value: string): string {\n\treturn value.replace(/\\\\/g, \"\\\\\\\\\").replace(/\"/g, '\\\\\"');\n}\n"],"names":["createProAuthenticationMiddleware","options","context","next","typedContext","existing","getAuthentication","skipIfAuthenticated","authenticated","strategies","result","authenticate","stopOnFailure","undefined","attachAuthentication","required","onUnauthenticated","createAuthenticationFailureResponse","createProAuthorizationMiddleware","authState","subject","getSubject","authenticatedSubject","identity","attempts","challenges","error","AthosError","code","ATHOS_ERROR_CODES","AUTH_UNAUTHENTICATED","state","set","AUTH_STATE_KEY","failure","decisionInput","getResource","resource","getEnvironment","decision","authorize","policy","ATHOS_STATE_KEYS","AUTHZ","allowed","onForbidden","createAuthorizationFailureResponse","response","json","strategy","reason","reasonCode","headerValue","formatWwwAuthenticateHeader","headers","length","map","formatChallengeInstruction","join","challenge","parts","scheme","realm","push","escapeHeaderValue","params","key","value","Object","entries","replace"],"mappings":"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"}
|
package/types.d.ts
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { ProApplicationBuilderOptions, ProApplicationBuilderResult, ProApplicationResult, ProApplicationSetupOptions, ProApplicationSetupResult, ProConfiguredMiddleware, ProHttpApplicationOptions, ProHttpApplicationResult, ProMiddlewareRegistration } from "@athosjs/types/pro";
|
|
2
|
+
export type { ProApplicationBuilderOptions, ProApplicationBuilderResult, ProApplicationResult, ProApplicationSetupOptions, ProApplicationSetupResult, ProConfiguredMiddleware, ProHttpApplicationOptions, ProHttpApplicationResult, ProMiddlewareRegistration, };
|
|
3
|
+
//# sourceMappingURL=types.d.ts.map
|
package/types.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../packages/pro/src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,4BAA4B,EAC5B,2BAA2B,EAC3B,oBAAoB,EACpB,0BAA0B,EAC1B,yBAAyB,EACzB,uBAAuB,EACvB,yBAAyB,EACzB,wBAAwB,EACxB,yBAAyB,EACzB,MAAM,oBAAoB,CAAC;AAE5B,YAAY,EACX,4BAA4B,EAC5B,2BAA2B,EAC3B,oBAAoB,EACpB,0BAA0B,EAC1B,yBAAyB,EACzB,uBAAuB,EACvB,yBAAyB,EACzB,wBAAwB,EACxB,yBAAyB,GACzB,CAAC"}
|