@acorex-platform/framework-server 0.0.33 → 0.0.37
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/background-job/src/lib/schedule/background-job-schedule-scanner.service.d.ts.map +1 -1
- package/background-job/src/lib/schedule/background-job-schedule-scanner.service.js +29 -2
- package/background-job/src/lib/schedule/background-job-schedule-scanner.service.js.map +1 -1
- package/core/src/lib/runtime/runtime-authz.guard.d.ts +3 -2
- package/core/src/lib/runtime/runtime-authz.guard.d.ts.map +1 -1
- package/core/src/lib/runtime/runtime-authz.guard.js +7 -6
- package/core/src/lib/runtime/runtime-authz.guard.js.map +1 -1
- package/domain/seed/src/lib/category-companion-entity.builder.d.ts +1 -1
- package/domain/seed/src/lib/category-companion-entity.builder.d.ts.map +1 -1
- package/domain/seed/src/lib/category-companion-entity.builder.js +64 -0
- package/domain/seed/src/lib/category-companion-entity.builder.js.map +1 -1
- package/jql/schema/src/lib/generated/widget-data-types.bootstrap.js +1 -1
- package/jql/schema/src/lib/generated/widget-data-types.bootstrap.js.map +1 -1
- package/package.json +2 -2
- package/realtime/src/lib/auth/auth-security-alert-realtime.listener.d.ts +18 -0
- package/realtime/src/lib/auth/auth-security-alert-realtime.listener.d.ts.map +1 -0
- package/realtime/src/lib/auth/auth-security-alert-realtime.listener.js +90 -0
- package/realtime/src/lib/auth/auth-security-alert-realtime.listener.js.map +1 -0
- package/realtime/src/lib/delivery/socket-io-realtime.delivery.d.ts.map +1 -1
- package/realtime/src/lib/delivery/socket-io-realtime.delivery.js +9 -4
- package/realtime/src/lib/delivery/socket-io-realtime.delivery.js.map +1 -1
- package/realtime/src/lib/gateway/realtime-ws-auth.d.ts +1 -1
- package/realtime/src/lib/gateway/realtime-ws-auth.d.ts.map +1 -1
- package/realtime/src/lib/gateway/realtime-ws-auth.js +4 -2
- package/realtime/src/lib/gateway/realtime-ws-auth.js.map +1 -1
- package/realtime/src/lib/gateway/realtime.gateway.d.ts +1 -0
- package/realtime/src/lib/gateway/realtime.gateway.d.ts.map +1 -1
- package/realtime/src/lib/gateway/realtime.gateway.js +9 -2
- package/realtime/src/lib/gateway/realtime.gateway.js.map +1 -1
- package/realtime/src/lib/realtime.module.d.ts.map +1 -1
- package/realtime/src/lib/realtime.module.js +2 -0
- package/realtime/src/lib/realtime.module.js.map +1 -1
- package/realtime/src/lib/rooms/realtime-rooms.util.d.ts +8 -0
- package/realtime/src/lib/rooms/realtime-rooms.util.d.ts.map +1 -1
- package/realtime/src/lib/rooms/realtime-rooms.util.js +22 -0
- package/realtime/src/lib/rooms/realtime-rooms.util.js.map +1 -1
- package/realtime/src/lib/services/realtime-publisher.service.d.ts.map +1 -1
- package/realtime/src/lib/services/realtime-publisher.service.js +7 -1
- package/realtime/src/lib/services/realtime-publisher.service.js.map +1 -1
- package/realtime/src/lib/topics/realtime-topics.d.ts +1 -0
- package/realtime/src/lib/topics/realtime-topics.d.ts.map +1 -1
- package/realtime/src/lib/topics/realtime-topics.js +2 -1
- package/realtime/src/lib/topics/realtime-topics.js.map +1 -1
- package/realtime/src/lib/types/realtime.types.d.ts +19 -0
- package/realtime/src/lib/types/realtime.types.d.ts.map +1 -1
- package/realtime/src/lib/types/realtime.types.js.map +1 -1
- package/security/src/index.d.ts +4 -0
- package/security/src/index.d.ts.map +1 -1
- package/security/src/index.js +5 -0
- package/security/src/index.js.map +1 -1
- package/security/src/lib/auth/auth-cookie-response.util.d.ts.map +1 -1
- package/security/src/lib/auth/auth-cookie-response.util.js +4 -1
- package/security/src/lib/auth/auth-cookie-response.util.js.map +1 -1
- package/security/src/lib/auth/auth-cookie.service.d.ts +2 -0
- package/security/src/lib/auth/auth-cookie.service.d.ts.map +1 -1
- package/security/src/lib/auth/auth-cookie.service.js +17 -0
- package/security/src/lib/auth/auth-cookie.service.js.map +1 -1
- package/security/src/lib/auth/auth-csrf.middleware.d.ts +14 -0
- package/security/src/lib/auth/auth-csrf.middleware.d.ts.map +1 -0
- package/security/src/lib/auth/auth-csrf.middleware.js +60 -0
- package/security/src/lib/auth/auth-csrf.middleware.js.map +1 -0
- package/security/src/lib/auth/auth-identity-provider.source.d.ts +11 -0
- package/security/src/lib/auth/auth-identity-provider.source.d.ts.map +1 -1
- package/security/src/lib/auth/auth-identity-provider.source.js +6 -1
- package/security/src/lib/auth/auth-identity-provider.source.js.map +1 -1
- package/security/src/lib/auth/auth-local-credentials.service.d.ts +8 -0
- package/security/src/lib/auth/auth-local-credentials.service.d.ts.map +1 -1
- package/security/src/lib/auth/auth-local-credentials.service.js +41 -16
- package/security/src/lib/auth/auth-local-credentials.service.js.map +1 -1
- package/security/src/lib/auth/auth-max-device-sessions-policy.d.ts +14 -0
- package/security/src/lib/auth/auth-max-device-sessions-policy.d.ts.map +1 -0
- package/security/src/lib/auth/auth-max-device-sessions-policy.js +48 -0
- package/security/src/lib/auth/auth-max-device-sessions-policy.js.map +1 -0
- package/security/src/lib/auth/auth-runtime.handlers.d.ts +15 -3
- package/security/src/lib/auth/auth-runtime.handlers.d.ts.map +1 -1
- package/security/src/lib/auth/auth-runtime.handlers.js +51 -3
- package/security/src/lib/auth/auth-runtime.handlers.js.map +1 -1
- package/security/src/lib/auth/auth.config.d.ts +7 -0
- package/security/src/lib/auth/auth.config.d.ts.map +1 -1
- package/security/src/lib/auth/auth.config.js +8 -1
- package/security/src/lib/auth/auth.config.js.map +1 -1
- package/security/src/lib/auth/auth.events.d.ts +22 -0
- package/security/src/lib/auth/auth.events.d.ts.map +1 -1
- package/security/src/lib/auth/auth.events.js +3 -1
- package/security/src/lib/auth/auth.events.js.map +1 -1
- package/security/src/lib/auth/auth.service.d.ts +65 -5
- package/security/src/lib/auth/auth.service.d.ts.map +1 -1
- package/security/src/lib/auth/auth.service.js +311 -10
- package/security/src/lib/auth/auth.service.js.map +1 -1
- package/security/src/lib/auth/auth.types.d.ts +36 -0
- package/security/src/lib/auth/auth.types.d.ts.map +1 -1
- package/security/src/lib/auth/auth.types.js.map +1 -1
- package/security/src/lib/auth/device-session.service.d.ts +59 -1
- package/security/src/lib/auth/device-session.service.d.ts.map +1 -1
- package/security/src/lib/auth/device-session.service.js +299 -28
- package/security/src/lib/auth/device-session.service.js.map +1 -1
- package/security/src/lib/auth/jwt-auth.guard.d.ts +2 -1
- package/security/src/lib/auth/jwt-auth.guard.d.ts.map +1 -1
- package/security/src/lib/auth/jwt-auth.guard.js +4 -2
- package/security/src/lib/auth/jwt-auth.guard.js.map +1 -1
- package/security/src/lib/auth/login-attempt.service.d.ts +14 -3
- package/security/src/lib/auth/login-attempt.service.d.ts.map +1 -1
- package/security/src/lib/auth/login-attempt.service.js +35 -10
- package/security/src/lib/auth/login-attempt.service.js.map +1 -1
- package/security/src/lib/auth/request-meta.util.js +64 -11
- package/security/src/lib/auth/request-meta.util.js.map +1 -1
- package/security/src/lib/auth/token-revocation.constants.d.ts +9 -0
- package/security/src/lib/auth/token-revocation.constants.d.ts.map +1 -0
- package/security/src/lib/auth/token-revocation.constants.js +14 -0
- package/security/src/lib/auth/token-revocation.constants.js.map +1 -0
- package/security/src/lib/auth/token.service.d.ts +26 -1
- package/security/src/lib/auth/token.service.d.ts.map +1 -1
- package/security/src/lib/auth/token.service.js +105 -4
- package/security/src/lib/auth/token.service.js.map +1 -1
- package/security/src/lib/oauth/connect.controller.d.ts +81 -7
- package/security/src/lib/oauth/connect.controller.d.ts.map +1 -1
- package/security/src/lib/oauth/connect.controller.js +264 -36
- package/security/src/lib/oauth/connect.controller.js.map +1 -1
- package/security/src/lib/oauth/oauth-bff.util.d.ts +9 -0
- package/security/src/lib/oauth/oauth-bff.util.d.ts.map +1 -0
- package/security/src/lib/oauth/oauth-bff.util.js +30 -0
- package/security/src/lib/oauth/oauth-bff.util.js.map +1 -0
- package/security/src/lib/oauth/oauth-claims.util.d.ts +6 -0
- package/security/src/lib/oauth/oauth-claims.util.d.ts.map +1 -0
- package/security/src/lib/oauth/oauth-claims.util.js +36 -0
- package/security/src/lib/oauth/oauth-claims.util.js.map +1 -0
- package/security/src/lib/oauth/oauth-client-registry.service.d.ts +25 -0
- package/security/src/lib/oauth/oauth-client-registry.service.d.ts.map +1 -0
- package/security/src/lib/oauth/oauth-client-registry.service.js +201 -0
- package/security/src/lib/oauth/oauth-client-registry.service.js.map +1 -0
- package/security/src/lib/oauth/oauth-connect.exception-filter.d.ts +10 -0
- package/security/src/lib/oauth/oauth-connect.exception-filter.d.ts.map +1 -0
- package/security/src/lib/oauth/oauth-connect.exception-filter.js +59 -0
- package/security/src/lib/oauth/oauth-connect.exception-filter.js.map +1 -0
- package/security/src/lib/oauth/oauth-error.util.d.ts +23 -0
- package/security/src/lib/oauth/oauth-error.util.d.ts.map +1 -0
- package/security/src/lib/oauth/oauth-error.util.js +114 -0
- package/security/src/lib/oauth/oauth-error.util.js.map +1 -0
- package/security/src/lib/oauth/oauth-grant-store.interface.d.ts +16 -0
- package/security/src/lib/oauth/oauth-grant-store.interface.d.ts.map +1 -0
- package/security/src/lib/oauth/oauth-grant-store.interface.js +14 -0
- package/security/src/lib/oauth/oauth-grant-store.interface.js.map +1 -0
- package/security/src/lib/oauth/oauth-issuer.util.d.ts +7 -0
- package/security/src/lib/oauth/oauth-issuer.util.d.ts.map +1 -0
- package/security/src/lib/oauth/oauth-issuer.util.js +25 -0
- package/security/src/lib/oauth/oauth-issuer.util.js.map +1 -0
- package/security/src/lib/oauth/oauth-op.service.d.ts +35 -0
- package/security/src/lib/oauth/oauth-op.service.d.ts.map +1 -0
- package/security/src/lib/oauth/oauth-op.service.js +152 -0
- package/security/src/lib/oauth/oauth-op.service.js.map +1 -0
- package/security/src/lib/oauth/oauth-op.types.d.ts +73 -0
- package/security/src/lib/oauth/oauth-op.types.d.ts.map +1 -0
- package/security/src/lib/oauth/oauth-op.types.js +5 -0
- package/security/src/lib/oauth/oauth-op.types.js.map +1 -0
- package/security/src/lib/oauth/oauth-provider-hint.util.d.ts +8 -0
- package/security/src/lib/oauth/oauth-provider-hint.util.d.ts.map +1 -0
- package/security/src/lib/oauth/oauth-provider-hint.util.js +24 -0
- package/security/src/lib/oauth/oauth-provider-hint.util.js.map +1 -0
- package/security/src/lib/oauth/oauth-redis-oidc-adapter.d.ts +27 -0
- package/security/src/lib/oauth/oauth-redis-oidc-adapter.d.ts.map +1 -0
- package/security/src/lib/oauth/oauth-redis-oidc-adapter.js +159 -0
- package/security/src/lib/oauth/oauth-redis-oidc-adapter.js.map +1 -0
- package/security/src/lib/oauth/oauth-rp.service.d.ts +53 -0
- package/security/src/lib/oauth/oauth-rp.service.d.ts.map +1 -0
- package/security/src/lib/oauth/oauth-rp.service.js +371 -0
- package/security/src/lib/oauth/oauth-rp.service.js.map +1 -0
- package/security/src/lib/oauth/oauth-rp.types.d.ts +25 -0
- package/security/src/lib/oauth/oauth-rp.types.d.ts.map +1 -0
- package/security/src/lib/oauth/oauth-rp.types.js +5 -0
- package/security/src/lib/oauth/oauth-rp.types.js.map +1 -0
- package/security/src/lib/oauth/oidc-provider-engine.service.d.ts +25 -0
- package/security/src/lib/oauth/oidc-provider-engine.service.d.ts.map +1 -0
- package/security/src/lib/oauth/oidc-provider-engine.service.js +208 -0
- package/security/src/lib/oauth/oidc-provider-engine.service.js.map +1 -0
- package/security/src/lib/oauth/platform-oauth.service.d.ts +43 -14
- package/security/src/lib/oauth/platform-oauth.service.d.ts.map +1 -1
- package/security/src/lib/oauth/platform-oauth.service.js +177 -170
- package/security/src/lib/oauth/platform-oauth.service.js.map +1 -1
- package/security/src/lib/oauth/platform-oauth.types.d.ts +11 -3
- package/security/src/lib/oauth/platform-oauth.types.d.ts.map +1 -1
- package/security/src/lib/oauth/platform-oauth.types.js.map +1 -1
- package/security/src/lib/oauth/redis-oauth-grant-store.service.d.ts +22 -0
- package/security/src/lib/oauth/redis-oauth-grant-store.service.d.ts.map +1 -0
- package/security/src/lib/oauth/redis-oauth-grant-store.service.js +132 -0
- package/security/src/lib/oauth/redis-oauth-grant-store.service.js.map +1 -0
- package/security/src/lib/oauth/testing/in-memory-oauth-grant-store.d.ts +14 -0
- package/security/src/lib/oauth/testing/in-memory-oauth-grant-store.d.ts.map +1 -0
- package/security/src/lib/oauth/testing/in-memory-oauth-grant-store.js +46 -0
- package/security/src/lib/oauth/testing/in-memory-oauth-grant-store.js.map +1 -0
- package/security/src/lib/oauth/testing/jest-empty-module.d.ts +4 -0
- package/security/src/lib/oauth/testing/jest-empty-module.d.ts.map +1 -0
- package/security/src/lib/oauth/testing/jest-empty-module.js +11 -0
- package/security/src/lib/oauth/testing/jest-empty-module.js.map +1 -0
- package/security/src/lib/oauth/testing/mock-oidc-provider.d.ts +49 -0
- package/security/src/lib/oauth/testing/mock-oidc-provider.d.ts.map +1 -0
- package/security/src/lib/oauth/testing/mock-oidc-provider.js +158 -0
- package/security/src/lib/oauth/testing/mock-oidc-provider.js.map +1 -0
- package/security/src/lib/security.module.d.ts.map +1 -1
- package/security/src/lib/security.module.js +31 -0
- package/security/src/lib/security.module.js.map +1 -1
- package/security/src/lib/session/backend-session.types.d.ts +2 -0
- package/security/src/lib/session/backend-session.types.d.ts.map +1 -1
- package/security/src/lib/session/backend-session.types.js.map +1 -1
- package/security/src/lib/session/optional-jwt-session.middleware.d.ts +6 -4
- package/security/src/lib/session/optional-jwt-session.middleware.d.ts.map +1 -1
- package/security/src/lib/session/optional-jwt-session.middleware.js +18 -7
- package/security/src/lib/session/optional-jwt-session.middleware.js.map +1 -1
|
@@ -4,78 +4,237 @@ exports.ConnectController = void 0;
|
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const common_1 = require("@nestjs/common");
|
|
6
6
|
const swagger_1 = require("@nestjs/swagger");
|
|
7
|
+
const auth_service_1 = require("../auth/auth.service");
|
|
8
|
+
const auth_local_credentials_service_1 = require("../auth/auth-local-credentials.service");
|
|
7
9
|
const auth_cookie_service_1 = require("../auth/auth-cookie.service");
|
|
10
|
+
const token_resolver_service_1 = require("../auth/token-resolver.service");
|
|
8
11
|
const public_decorator_1 = require("../auth/public.decorator");
|
|
9
12
|
const request_meta_util_1 = require("../auth/request-meta.util");
|
|
10
13
|
const token_service_1 = require("../auth/token.service");
|
|
11
14
|
const platform_oauth_service_1 = require("./platform-oauth.service");
|
|
15
|
+
const oidc_provider_engine_service_1 = require("./oidc-provider-engine.service");
|
|
16
|
+
const oauth_issuer_util_1 = require("./oauth-issuer.util");
|
|
17
|
+
const oauth_connect_exception_filter_1 = require("./oauth-connect.exception-filter");
|
|
18
|
+
const oauth_provider_hint_util_1 = require("./oauth-provider-hint.util");
|
|
19
|
+
const oauth_error_util_1 = require("./oauth-error.util");
|
|
20
|
+
const auth_config_1 = require("../auth/auth.config");
|
|
12
21
|
//#region ---- Platform OAuth connect endpoints ----
|
|
13
22
|
let ConnectController = class ConnectController {
|
|
14
|
-
constructor(oauth, cookies, tokens) {
|
|
23
|
+
constructor(oauth, oidcEngine, auth, cookies, tokens, tokenResolver, credentials) {
|
|
15
24
|
this.oauth = oauth;
|
|
25
|
+
this.oidcEngine = oidcEngine;
|
|
26
|
+
this.auth = auth;
|
|
16
27
|
this.cookies = cookies;
|
|
17
28
|
this.tokens = tokens;
|
|
29
|
+
this.tokenResolver = tokenResolver;
|
|
30
|
+
this.credentials = credentials;
|
|
18
31
|
}
|
|
19
|
-
getDiscoveryDocument(req) {
|
|
20
|
-
|
|
32
|
+
async getDiscoveryDocument(req) {
|
|
33
|
+
const issuer = this.resolveIssuer(req);
|
|
34
|
+
const platformDoc = this.oauth.getDiscoveryDocument(issuer);
|
|
35
|
+
const engineDoc = await this.oidcEngine.getDiscoveryDocument();
|
|
36
|
+
if (engineDoc) {
|
|
37
|
+
return {
|
|
38
|
+
...engineDoc,
|
|
39
|
+
...platformDoc,
|
|
40
|
+
federation_authorize_init_endpoint: `${issuer}/connect/authorize/init`,
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
return platformDoc;
|
|
44
|
+
}
|
|
45
|
+
async getOauthAuthorizationServerMetadata(req) {
|
|
46
|
+
return this.getDiscoveryDocument(req);
|
|
21
47
|
}
|
|
22
48
|
getJwksDocument() {
|
|
23
49
|
return this.oauth.getJwksDocument();
|
|
24
50
|
}
|
|
25
|
-
async
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
const
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
51
|
+
async authorizeInit(body, req, res) {
|
|
52
|
+
this.cookies.applyCsrfCookie(res);
|
|
53
|
+
const clientId = String(body['client_id'] ?? body['clientId'] ?? '').trim();
|
|
54
|
+
const redirectUri = String(body['redirect_uri'] ?? body['redirectUri'] ?? '').trim();
|
|
55
|
+
const scope = String(body['scope'] ?? 'openid profile email offline_access').trim();
|
|
56
|
+
const provider = (0, oauth_provider_hint_util_1.resolveOAuthProviderHint)({
|
|
57
|
+
identity_provider: String(body['identity_provider'] ?? body['provider'] ?? ''),
|
|
58
|
+
acr_values: String(body['acr_values'] ?? ''),
|
|
59
|
+
}) ?? '';
|
|
60
|
+
if (!clientId || !redirectUri || !provider) {
|
|
61
|
+
throw (0, oauth_error_util_1.oauthInvalidRequest)('client_id, redirect_uri, and identity_provider are required.');
|
|
62
|
+
}
|
|
63
|
+
return this.oauth.initAuthorization({
|
|
64
|
+
clientId,
|
|
65
|
+
redirectUri,
|
|
66
|
+
scope,
|
|
37
67
|
provider,
|
|
38
68
|
issuer: this.resolveIssuer(req),
|
|
39
|
-
state: query['state']?.trim(),
|
|
40
69
|
});
|
|
41
|
-
|
|
70
|
+
}
|
|
71
|
+
async authorize(query, req, res) {
|
|
72
|
+
const provider = (0, oauth_provider_hint_util_1.resolveOAuthProviderHint)(query);
|
|
73
|
+
if (provider) {
|
|
74
|
+
this.cookies.applyCsrfCookie(res);
|
|
75
|
+
const redirectUrl = await this.oauth.beginAuthorization({
|
|
76
|
+
responseType: query['response_type']?.trim() || '',
|
|
77
|
+
clientId: query['client_id']?.trim() || '',
|
|
78
|
+
redirectUri: query['redirect_uri']?.trim() || '',
|
|
79
|
+
scope: query['scope']?.trim() || 'openid profile email offline_access',
|
|
80
|
+
codeChallenge: query['code_challenge']?.trim() || '',
|
|
81
|
+
codeChallengeMethod: query['code_challenge_method']?.trim() || '',
|
|
82
|
+
provider,
|
|
83
|
+
issuer: this.resolveIssuer(req),
|
|
84
|
+
state: query['state']?.trim(),
|
|
85
|
+
});
|
|
86
|
+
res.redirect(redirectUrl);
|
|
87
|
+
return;
|
|
88
|
+
}
|
|
89
|
+
if (this.oidcEngine.isEnabled()) {
|
|
90
|
+
await this.oidcEngine.forward(req, res);
|
|
91
|
+
return;
|
|
92
|
+
}
|
|
93
|
+
throw (0, oauth_error_util_1.oauthInvalidRequest)('identity_provider (or acr_values) is required.');
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* oidc-provider post-login resume (`GET /connect/authorize/:uid`).
|
|
97
|
+
* Must not require an identity_provider hint — this is the standard OP path.
|
|
98
|
+
*/
|
|
99
|
+
async authorizeResume(req, res) {
|
|
100
|
+
if (!this.oidcEngine.isEnabled()) {
|
|
101
|
+
throw (0, oauth_error_util_1.oauthInvalidRequest)('oidc provider unavailable.');
|
|
102
|
+
}
|
|
103
|
+
await this.oidcEngine.forward(req, res);
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* oidc-provider login/consent UI and form posts (standard OP path only).
|
|
107
|
+
* Not used by first-party Pure BFF federation broker.
|
|
108
|
+
* Explicit segments avoid Nest 11 / Express 5 wildcard matching gaps.
|
|
109
|
+
*/
|
|
110
|
+
async oidcInteraction(req, res) {
|
|
111
|
+
if (!this.oidcEngine.isEnabled()) {
|
|
112
|
+
throw (0, oauth_error_util_1.oauthInvalidRequest)('oidc provider unavailable.');
|
|
113
|
+
}
|
|
114
|
+
await this.oidcEngine.forward(req, res);
|
|
42
115
|
}
|
|
43
116
|
async externalCallback(providerKey, code, state, error, res) {
|
|
44
117
|
const key = providerKey?.trim();
|
|
45
118
|
if (!key) {
|
|
46
|
-
throw
|
|
119
|
+
throw (0, oauth_error_util_1.oauthInvalidRequest)('providerKey is required.');
|
|
47
120
|
}
|
|
48
121
|
if (error) {
|
|
49
122
|
res.status(400).send(`${key} authorization failed: ${error}`);
|
|
50
123
|
return;
|
|
51
124
|
}
|
|
52
125
|
if (!code?.trim() || !state?.trim()) {
|
|
53
|
-
throw
|
|
126
|
+
throw (0, oauth_error_util_1.oauthInvalidRequest)('code and state are required.');
|
|
54
127
|
}
|
|
55
128
|
const redirectUrl = await this.oauth.completeExternalCallback(key, code.trim(), state.trim());
|
|
56
129
|
res.redirect(redirectUrl);
|
|
57
130
|
}
|
|
58
131
|
async token(req, res) {
|
|
59
132
|
const body = this.readFormBody(req);
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
133
|
+
if (typeof req.headers.authorization === 'string') {
|
|
134
|
+
body['authorization'] = req.headers.authorization;
|
|
135
|
+
}
|
|
136
|
+
if (this.oauth.isBrokerTokenRequest(body)) {
|
|
137
|
+
const meta = (0, request_meta_util_1.resolveAuthRequestMeta)(req);
|
|
138
|
+
const result = await this.oauth.exchangeAuthorizationCode(body, meta);
|
|
63
139
|
this.cookies.applyAuthCookies(res, {
|
|
64
|
-
accessToken: result.
|
|
65
|
-
refreshToken: result.
|
|
140
|
+
accessToken: result.accessToken,
|
|
141
|
+
refreshToken: result.refreshToken,
|
|
66
142
|
accessMaxAgeMs: this.tokens.accessTokenMaxAgeMs(),
|
|
67
143
|
refreshMaxAgeMs: this.tokens.refreshTokenMaxAgeMs(),
|
|
68
144
|
});
|
|
145
|
+
this.cookies.applyCsrfCookie(res);
|
|
146
|
+
res.json(result.body);
|
|
147
|
+
return;
|
|
69
148
|
}
|
|
70
|
-
|
|
149
|
+
if (this.oidcEngine.isEnabled()) {
|
|
150
|
+
await this.oidcEngine.forward(req, res);
|
|
151
|
+
return;
|
|
152
|
+
}
|
|
153
|
+
throw (0, oauth_error_util_1.oauthUnsupportedGrantType)('Unsupported grant_type.');
|
|
154
|
+
}
|
|
155
|
+
async userInfo(req, res) {
|
|
156
|
+
const resolved = this.tokenResolver.resolveAccessToken(req.headers, req.cookies);
|
|
157
|
+
if (!resolved) {
|
|
158
|
+
if (this.oidcEngine.isEnabled()) {
|
|
159
|
+
await this.oidcEngine.forward(req, res);
|
|
160
|
+
return;
|
|
161
|
+
}
|
|
162
|
+
throw (0, oauth_error_util_1.oauthInvalidToken)('Bearer access token is required.');
|
|
163
|
+
}
|
|
164
|
+
try {
|
|
165
|
+
const payload = await this.auth.validateAccessToken(resolved.token, auth_config_1.PLATFORM_ACCESS_TOKEN_AUDIENCE);
|
|
166
|
+
const user = await this.credentials.findUserById(payload.sub);
|
|
167
|
+
res.json({
|
|
168
|
+
sub: payload.sub,
|
|
169
|
+
name: payload.username,
|
|
170
|
+
picture: user?.avatar ?? null,
|
|
171
|
+
email: typeof user?.email === 'string' ? user.email : undefined,
|
|
172
|
+
});
|
|
173
|
+
return;
|
|
174
|
+
}
|
|
175
|
+
catch {
|
|
176
|
+
if (this.oidcEngine.isEnabled()) {
|
|
177
|
+
await this.oidcEngine.forward(req, res);
|
|
178
|
+
return;
|
|
179
|
+
}
|
|
180
|
+
throw (0, oauth_error_util_1.oauthInvalidToken)('Invalid or expired access token.');
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
async revoke(req, res) {
|
|
184
|
+
const body = this.readFormBody(req);
|
|
185
|
+
const refreshToken = body['refresh_token'] ?? body['token'] ?? this.cookies.readRefreshToken(req.cookies);
|
|
186
|
+
if (refreshToken) {
|
|
187
|
+
try {
|
|
188
|
+
this.tokens.verifyRefreshToken(refreshToken);
|
|
189
|
+
await this.auth.logout(refreshToken);
|
|
190
|
+
this.cookies.clearAuthCookies(res);
|
|
191
|
+
res.json({ success: true });
|
|
192
|
+
return;
|
|
193
|
+
}
|
|
194
|
+
catch {
|
|
195
|
+
/* fall through to oidc-provider */
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
if (this.oidcEngine.isEnabled()) {
|
|
199
|
+
await this.oidcEngine.forward(req, res);
|
|
200
|
+
return;
|
|
201
|
+
}
|
|
202
|
+
res.json({ success: true });
|
|
71
203
|
}
|
|
72
|
-
|
|
204
|
+
async endSession(query, req, res) {
|
|
205
|
+
const refreshToken = this.cookies.readRefreshToken(req.cookies);
|
|
206
|
+
if (refreshToken) {
|
|
207
|
+
try {
|
|
208
|
+
this.tokens.verifyRefreshToken(refreshToken);
|
|
209
|
+
await this.auth.logout(refreshToken);
|
|
210
|
+
const redirectUrl = await this.oauth.endSession({
|
|
211
|
+
idTokenHint: query['id_token_hint'],
|
|
212
|
+
postLogoutRedirectUri: query['post_logout_redirect_uri'],
|
|
213
|
+
clientId: query['client_id'],
|
|
214
|
+
state: query['state'],
|
|
215
|
+
});
|
|
216
|
+
this.cookies.clearAuthCookies(res);
|
|
217
|
+
if (redirectUrl) {
|
|
218
|
+
res.redirect(redirectUrl);
|
|
219
|
+
return;
|
|
220
|
+
}
|
|
221
|
+
res.status(204).send();
|
|
222
|
+
return;
|
|
223
|
+
}
|
|
224
|
+
catch {
|
|
225
|
+
/* fall through */
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
if (this.oidcEngine.isEnabled()) {
|
|
229
|
+
await this.oidcEngine.forward(req, res);
|
|
230
|
+
return;
|
|
231
|
+
}
|
|
232
|
+
this.cookies.clearAuthCookies(res);
|
|
233
|
+
res.status(204).send();
|
|
234
|
+
}
|
|
235
|
+
/** Platform OAuth issuer — prefer `AUTH_OAUTH_ISSUER`, else derive from request. */
|
|
73
236
|
resolveIssuer(req) {
|
|
74
|
-
|
|
75
|
-
const protoHeader = Array.isArray(forwardedProto) ? forwardedProto[0] : forwardedProto;
|
|
76
|
-
const proto = (protoHeader?.split(',')[0] || req.protocol || 'http').trim();
|
|
77
|
-
const host = (req.get('host') || 'localhost:5500').trim();
|
|
78
|
-
return `${proto}://${host}/api`;
|
|
237
|
+
return (0, oauth_issuer_util_1.resolveOAuthIssuer)(req);
|
|
79
238
|
}
|
|
80
239
|
readFormBody(req) {
|
|
81
240
|
const body = req.body;
|
|
@@ -92,18 +251,36 @@ tslib_1.__decorate([
|
|
|
92
251
|
tslib_1.__param(0, (0, common_1.Req)()),
|
|
93
252
|
tslib_1.__metadata("design:type", Function),
|
|
94
253
|
tslib_1.__metadata("design:paramtypes", [Object]),
|
|
95
|
-
tslib_1.__metadata("design:returntype",
|
|
254
|
+
tslib_1.__metadata("design:returntype", Promise)
|
|
96
255
|
], ConnectController.prototype, "getDiscoveryDocument", null);
|
|
256
|
+
tslib_1.__decorate([
|
|
257
|
+
(0, common_1.Get)('.well-known/oauth-authorization-server'),
|
|
258
|
+
(0, swagger_1.ApiOperation)({ summary: 'OAuth 2.0 Authorization Server metadata (RFC 8414)' }),
|
|
259
|
+
tslib_1.__param(0, (0, common_1.Req)()),
|
|
260
|
+
tslib_1.__metadata("design:type", Function),
|
|
261
|
+
tslib_1.__metadata("design:paramtypes", [Object]),
|
|
262
|
+
tslib_1.__metadata("design:returntype", Promise)
|
|
263
|
+
], ConnectController.prototype, "getOauthAuthorizationServerMetadata", null);
|
|
97
264
|
tslib_1.__decorate([
|
|
98
265
|
(0, common_1.Get)('.well-known/jwks.json'),
|
|
99
|
-
(0, swagger_1.ApiOperation)({ summary: 'JSON Web Key Set (platform broker
|
|
266
|
+
(0, swagger_1.ApiOperation)({ summary: 'JSON Web Key Set (platform broker signing keys for id_token)' }),
|
|
100
267
|
tslib_1.__metadata("design:type", Function),
|
|
101
268
|
tslib_1.__metadata("design:paramtypes", []),
|
|
102
269
|
tslib_1.__metadata("design:returntype", void 0)
|
|
103
270
|
], ConnectController.prototype, "getJwksDocument", null);
|
|
271
|
+
tslib_1.__decorate([
|
|
272
|
+
(0, common_1.Post)('connect/authorize/init'),
|
|
273
|
+
(0, swagger_1.ApiOperation)({ summary: 'BFF: server-side PKCE + platform authorize URL' }),
|
|
274
|
+
tslib_1.__param(0, (0, common_1.Body)()),
|
|
275
|
+
tslib_1.__param(1, (0, common_1.Req)()),
|
|
276
|
+
tslib_1.__param(2, (0, common_1.Res)({ passthrough: true })),
|
|
277
|
+
tslib_1.__metadata("design:type", Function),
|
|
278
|
+
tslib_1.__metadata("design:paramtypes", [Object, Object, Object]),
|
|
279
|
+
tslib_1.__metadata("design:returntype", Promise)
|
|
280
|
+
], ConnectController.prototype, "authorizeInit", null);
|
|
104
281
|
tslib_1.__decorate([
|
|
105
282
|
(0, common_1.Get)('connect/authorize'),
|
|
106
|
-
(0, swagger_1.ApiOperation)({ summary: '
|
|
283
|
+
(0, swagger_1.ApiOperation)({ summary: 'Authorization endpoint (federation broker or oidc-provider engine)' }),
|
|
107
284
|
tslib_1.__param(0, (0, common_1.Query)()),
|
|
108
285
|
tslib_1.__param(1, (0, common_1.Req)()),
|
|
109
286
|
tslib_1.__param(2, (0, common_1.Res)()),
|
|
@@ -111,6 +288,24 @@ tslib_1.__decorate([
|
|
|
111
288
|
tslib_1.__metadata("design:paramtypes", [Object, Object, Object]),
|
|
112
289
|
tslib_1.__metadata("design:returntype", Promise)
|
|
113
290
|
], ConnectController.prototype, "authorize", null);
|
|
291
|
+
tslib_1.__decorate([
|
|
292
|
+
(0, common_1.All)('connect/authorize/:uid'),
|
|
293
|
+
(0, swagger_1.ApiOperation)({ summary: 'OpenID Provider authorize resume (oidc-provider engine)' }),
|
|
294
|
+
tslib_1.__param(0, (0, common_1.Req)()),
|
|
295
|
+
tslib_1.__param(1, (0, common_1.Res)()),
|
|
296
|
+
tslib_1.__metadata("design:type", Function),
|
|
297
|
+
tslib_1.__metadata("design:paramtypes", [Object, Object]),
|
|
298
|
+
tslib_1.__metadata("design:returntype", Promise)
|
|
299
|
+
], ConnectController.prototype, "authorizeResume", null);
|
|
300
|
+
tslib_1.__decorate([
|
|
301
|
+
(0, common_1.All)(['interaction/:uid', 'interaction/:uid/:action']),
|
|
302
|
+
(0, swagger_1.ApiOperation)({ summary: 'OpenID Provider interaction (oidc-provider engine)' }),
|
|
303
|
+
tslib_1.__param(0, (0, common_1.Req)()),
|
|
304
|
+
tslib_1.__param(1, (0, common_1.Res)()),
|
|
305
|
+
tslib_1.__metadata("design:type", Function),
|
|
306
|
+
tslib_1.__metadata("design:paramtypes", [Object, Object]),
|
|
307
|
+
tslib_1.__metadata("design:returntype", Promise)
|
|
308
|
+
], ConnectController.prototype, "oidcInteraction", null);
|
|
114
309
|
tslib_1.__decorate([
|
|
115
310
|
(0, common_1.Get)('connect/callback/:providerKey'),
|
|
116
311
|
(0, swagger_1.ApiOperation)({ summary: 'External IdP OAuth callback for platform login' }),
|
|
@@ -127,18 +322,51 @@ tslib_1.__decorate([
|
|
|
127
322
|
(0, common_1.Post)('connect/token'),
|
|
128
323
|
(0, swagger_1.ApiOperation)({ summary: 'Exchange authorization code or refresh token for platform tokens' }),
|
|
129
324
|
tslib_1.__param(0, (0, common_1.Req)()),
|
|
130
|
-
tslib_1.__param(1, (0, common_1.Res)(
|
|
325
|
+
tslib_1.__param(1, (0, common_1.Res)()),
|
|
131
326
|
tslib_1.__metadata("design:type", Function),
|
|
132
327
|
tslib_1.__metadata("design:paramtypes", [Object, Object]),
|
|
133
328
|
tslib_1.__metadata("design:returntype", Promise)
|
|
134
329
|
], ConnectController.prototype, "token", null);
|
|
330
|
+
tslib_1.__decorate([
|
|
331
|
+
(0, common_1.Get)('connect/userinfo'),
|
|
332
|
+
(0, swagger_1.ApiOperation)({ summary: 'UserInfo endpoint for access tokens' }),
|
|
333
|
+
tslib_1.__param(0, (0, common_1.Req)()),
|
|
334
|
+
tslib_1.__param(1, (0, common_1.Res)()),
|
|
335
|
+
tslib_1.__metadata("design:type", Function),
|
|
336
|
+
tslib_1.__metadata("design:paramtypes", [Object, Object]),
|
|
337
|
+
tslib_1.__metadata("design:returntype", Promise)
|
|
338
|
+
], ConnectController.prototype, "userInfo", null);
|
|
339
|
+
tslib_1.__decorate([
|
|
340
|
+
(0, common_1.Post)('connect/revocation'),
|
|
341
|
+
(0, swagger_1.ApiOperation)({ summary: 'Token revocation endpoint (refresh token revoke)' }),
|
|
342
|
+
tslib_1.__param(0, (0, common_1.Req)()),
|
|
343
|
+
tslib_1.__param(1, (0, common_1.Res)()),
|
|
344
|
+
tslib_1.__metadata("design:type", Function),
|
|
345
|
+
tslib_1.__metadata("design:paramtypes", [Object, Object]),
|
|
346
|
+
tslib_1.__metadata("design:returntype", Promise)
|
|
347
|
+
], ConnectController.prototype, "revoke", null);
|
|
348
|
+
tslib_1.__decorate([
|
|
349
|
+
(0, common_1.Get)('connect/endsession'),
|
|
350
|
+
(0, swagger_1.ApiOperation)({ summary: 'RP-Initiated Logout (OpenID Connect)' }),
|
|
351
|
+
tslib_1.__param(0, (0, common_1.Query)()),
|
|
352
|
+
tslib_1.__param(1, (0, common_1.Req)()),
|
|
353
|
+
tslib_1.__param(2, (0, common_1.Res)()),
|
|
354
|
+
tslib_1.__metadata("design:type", Function),
|
|
355
|
+
tslib_1.__metadata("design:paramtypes", [Object, Object, Object]),
|
|
356
|
+
tslib_1.__metadata("design:returntype", Promise)
|
|
357
|
+
], ConnectController.prototype, "endSession", null);
|
|
135
358
|
exports.ConnectController = ConnectController = tslib_1.__decorate([
|
|
136
359
|
(0, swagger_1.ApiTags)('connect'),
|
|
137
360
|
(0, public_decorator_1.Public)(),
|
|
361
|
+
(0, common_1.UseFilters)(oauth_connect_exception_filter_1.OAuthConnectExceptionFilter),
|
|
138
362
|
(0, common_1.Controller)(),
|
|
139
363
|
tslib_1.__metadata("design:paramtypes", [platform_oauth_service_1.PlatformOAuthService,
|
|
364
|
+
oidc_provider_engine_service_1.OidcProviderEngineService,
|
|
365
|
+
auth_service_1.AuthService,
|
|
140
366
|
auth_cookie_service_1.AuthCookieService,
|
|
141
|
-
token_service_1.TokenService
|
|
367
|
+
token_service_1.TokenService,
|
|
368
|
+
token_resolver_service_1.TokenResolverService,
|
|
369
|
+
auth_local_credentials_service_1.AuthLocalCredentialsService])
|
|
142
370
|
], ConnectController);
|
|
143
371
|
//#endregion
|
|
144
372
|
//# sourceMappingURL=connect.controller.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connect.controller.js","sourceRoot":"","sources":["../../../../../../../../libs/framework/server/security/src/lib/oauth/connect.controller.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"connect.controller.js","sourceRoot":"","sources":["../../../../../../../../libs/framework/server/security/src/lib/oauth/connect.controller.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { OAuthTokenResponse } from './platform-oauth.types';
|
|
2
|
+
export declare function isBffPureModeEnabled(): boolean;
|
|
3
|
+
export declare function buildOAuthTokenResponseBody(input: {
|
|
4
|
+
accessToken: string;
|
|
5
|
+
refreshToken: string;
|
|
6
|
+
idToken: string;
|
|
7
|
+
expiresIn: number;
|
|
8
|
+
}): OAuthTokenResponse;
|
|
9
|
+
//# sourceMappingURL=oauth-bff.util.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"oauth-bff.util.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/framework/server/security/src/lib/oauth/oauth-bff.util.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAEjE,wBAAgB,oBAAoB,IAAI,OAAO,CAM9C;AAED,wBAAgB,2BAA2B,CAAC,KAAK,EAAE;IACjD,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB,GAAG,kBAAkB,CAgBrB"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
//#region ---- Pure BFF OAuth token response helpers ----
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.isBffPureModeEnabled = isBffPureModeEnabled;
|
|
5
|
+
exports.buildOAuthTokenResponseBody = buildOAuthTokenResponseBody;
|
|
6
|
+
function isBffPureModeEnabled() {
|
|
7
|
+
const raw = process.env['AUTH_BFF_PURE']?.trim()?.toLowerCase();
|
|
8
|
+
if (raw === 'false' || raw === '0') {
|
|
9
|
+
return false;
|
|
10
|
+
}
|
|
11
|
+
return true;
|
|
12
|
+
}
|
|
13
|
+
function buildOAuthTokenResponseBody(input) {
|
|
14
|
+
if (isBffPureModeEnabled()) {
|
|
15
|
+
return {
|
|
16
|
+
token_type: 'Bearer',
|
|
17
|
+
expires_in: input.expiresIn,
|
|
18
|
+
id_token: input.idToken,
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
return {
|
|
22
|
+
access_token: input.accessToken,
|
|
23
|
+
refresh_token: input.refreshToken,
|
|
24
|
+
id_token: input.idToken,
|
|
25
|
+
token_type: 'Bearer',
|
|
26
|
+
expires_in: input.expiresIn,
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
//#endregion
|
|
30
|
+
//# sourceMappingURL=oauth-bff.util.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"oauth-bff.util.js","sourceRoot":"","sources":["../../../../../../../../libs/framework/server/security/src/lib/oauth/oauth-bff.util.ts"],"names":[],"mappings":";AAAA,yDAAyD;;AAIzD,oDAMC;AAED,kEAqBC;AA7BD,SAAgB,oBAAoB;IAClC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE,IAAI,EAAE,EAAE,WAAW,EAAE,CAAC;IAChE,IAAI,GAAG,KAAK,OAAO,IAAI,GAAG,KAAK,GAAG,EAAE,CAAC;QACnC,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAgB,2BAA2B,CAAC,KAK3C;IACC,IAAI,oBAAoB,EAAE,EAAE,CAAC;QAC3B,OAAO;YACL,UAAU,EAAE,QAAQ;YACpB,UAAU,EAAE,KAAK,CAAC,SAAS;YAC3B,QAAQ,EAAE,KAAK,CAAC,OAAO;SACxB,CAAC;IACJ,CAAC;IAED,OAAO;QACL,YAAY,EAAE,KAAK,CAAC,WAAW;QAC/B,aAAa,EAAE,KAAK,CAAC,YAAY;QACjC,QAAQ,EAAE,KAAK,CAAC,OAAO;QACvB,UAAU,EAAE,QAAQ;QACpB,UAAU,EAAE,KAAK,CAAC,SAAS;KAC5B,CAAC;AACJ,CAAC;AAED,YAAY"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/** OIDC reserved claims that must not be overridden by organization adapters. */
|
|
2
|
+
export declare const RESERVED_OIDC_CLAIMS: Set<string>;
|
|
3
|
+
/** RFC 9068 reserved access-token claims. */
|
|
4
|
+
export declare const RESERVED_ACCESS_TOKEN_CLAIMS: Set<string>;
|
|
5
|
+
export declare function assertAllowedClaimInputs(claims: Record<string, unknown>, allowed: Set<string>, context: string): void;
|
|
6
|
+
//# sourceMappingURL=oauth-claims.util.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"oauth-claims.util.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/framework/server/security/src/lib/oauth/oauth-claims.util.ts"],"names":[],"mappings":"AAEA,iFAAiF;AACjF,eAAO,MAAM,oBAAoB,aAa/B,CAAC;AAEH,6CAA6C;AAC7C,eAAO,MAAM,4BAA4B,aAKvC,CAAC;AAEH,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,EACpB,OAAO,EAAE,MAAM,GACd,IAAI,CAMN"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
//#region ---- OAuth token claims helpers ----
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.RESERVED_ACCESS_TOKEN_CLAIMS = exports.RESERVED_OIDC_CLAIMS = void 0;
|
|
5
|
+
exports.assertAllowedClaimInputs = assertAllowedClaimInputs;
|
|
6
|
+
/** OIDC reserved claims that must not be overridden by organization adapters. */
|
|
7
|
+
exports.RESERVED_OIDC_CLAIMS = new Set([
|
|
8
|
+
'iss',
|
|
9
|
+
'sub',
|
|
10
|
+
'aud',
|
|
11
|
+
'exp',
|
|
12
|
+
'iat',
|
|
13
|
+
'auth_time',
|
|
14
|
+
'nonce',
|
|
15
|
+
'acr',
|
|
16
|
+
'amr',
|
|
17
|
+
'azp',
|
|
18
|
+
'at_hash',
|
|
19
|
+
'c_hash',
|
|
20
|
+
]);
|
|
21
|
+
/** RFC 9068 reserved access-token claims. */
|
|
22
|
+
exports.RESERVED_ACCESS_TOKEN_CLAIMS = new Set([
|
|
23
|
+
...exports.RESERVED_OIDC_CLAIMS,
|
|
24
|
+
'typ',
|
|
25
|
+
'client_id',
|
|
26
|
+
'scope',
|
|
27
|
+
]);
|
|
28
|
+
function assertAllowedClaimInputs(claims, allowed, context) {
|
|
29
|
+
for (const key of Object.keys(claims)) {
|
|
30
|
+
if (!allowed.has(key)) {
|
|
31
|
+
throw new Error(`Claim "${key}" is not allowed (${context}).`);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
//#endregion
|
|
36
|
+
//# sourceMappingURL=oauth-claims.util.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"oauth-claims.util.js","sourceRoot":"","sources":["../../../../../../../../libs/framework/server/security/src/lib/oauth/oauth-claims.util.ts"],"names":[],"mappings":";AAAA,8CAA8C;;;AA0B9C,4DAUC;AAlCD,iFAAiF;AACpE,QAAA,oBAAoB,GAAG,IAAI,GAAG,CAAC;IAC1C,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,WAAW;IACX,OAAO;IACP,KAAK;IACL,KAAK;IACL,KAAK;IACL,SAAS;IACT,QAAQ;CACT,CAAC,CAAC;AAEH,6CAA6C;AAChC,QAAA,4BAA4B,GAAG,IAAI,GAAG,CAAC;IAClD,GAAG,4BAAoB;IACvB,KAAK;IACL,WAAW;IACX,OAAO;CACR,CAAC,CAAC;AAEH,SAAgB,wBAAwB,CACtC,MAA+B,EAC/B,OAAoB,EACpB,OAAe;IAEf,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QACtC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,UAAU,GAAG,qBAAqB,OAAO,IAAI,CAAC,CAAC;QACjE,CAAC;IACH,CAAC;AACH,CAAC;AAED,YAAY"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { ModuleRef } from '@nestjs/core';
|
|
2
|
+
import type { OAuthRegisteredClient } from './oauth-op.types';
|
|
3
|
+
export declare class OAuthClientRegistryService {
|
|
4
|
+
private readonly moduleRef;
|
|
5
|
+
constructor(moduleRef: ModuleRef);
|
|
6
|
+
listClients(): OAuthRegisteredClient[];
|
|
7
|
+
getClient(clientId: string): OAuthRegisteredClient | null;
|
|
8
|
+
assertClientId(clientId: string): OAuthRegisteredClient;
|
|
9
|
+
/** Seeded + env-extra redirect URIs for a client (OP engine + validation). */
|
|
10
|
+
resolveRedirectUris(clientId: string): string[];
|
|
11
|
+
/** Seeded + env-extra post-logout redirect URIs for a client. */
|
|
12
|
+
resolvePostLogoutRedirectUris(clientId: string): string[];
|
|
13
|
+
assertRedirectUri(clientId: string, redirectUri: string): void;
|
|
14
|
+
assertPostLogoutRedirectUri(clientId: string | undefined, redirectUri: string): void;
|
|
15
|
+
assertGrantType(clientId: string, grantType: string): void;
|
|
16
|
+
assertScopes(clientId: string, scope: string | undefined): void;
|
|
17
|
+
/**
|
|
18
|
+
* Validates token-endpoint client authentication.
|
|
19
|
+
* Public PKCE clients skip secret validation; confidential clients require `client_secret`.
|
|
20
|
+
*/
|
|
21
|
+
assertTokenEndpointClientAuth(clientId: string, body: Record<string, string | undefined>): OAuthRegisteredClient;
|
|
22
|
+
private readClientSecret;
|
|
23
|
+
private secretsEqual;
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=oauth-client-registry.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"oauth-client-registry.service.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/framework/server/security/src/lib/oauth/oauth-client-registry.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAGzC,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAmD9D,qBACa,0BAA0B;IACzB,OAAO,CAAC,QAAQ,CAAC,SAAS;gBAAT,SAAS,EAAE,SAAS;IAEjD,WAAW,IAAI,qBAAqB,EAAE;IActC,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,qBAAqB,GAAG,IAAI;IAQzD,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,qBAAqB;IAQvD,8EAA8E;IAC9E,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE;IAK/C,iEAAiE;IACjE,6BAA6B,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE;IAKzD,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI;IAQ9D,2BAA2B,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI;IAuBpF,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;IAQ1D,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IAmB/D;;;OAGG;IACH,6BAA6B,CAC3B,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,GACvC,qBAAqB;IAoBxB,OAAO,CAAC,gBAAgB;IAuBxB,OAAO,CAAC,YAAY;CAQrB"}
|