@owlmeans/server-oidc-rp 0.1.1 → 0.1.3
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/LICENSE +1 -1
- package/README.md +59 -474
- package/build/actions/init.d.ts +2 -2
- package/build/actions/init.d.ts.map +1 -1
- package/build/actions/init.js +2 -2
- package/build/actions/init.js.map +1 -1
- package/build/actions/process.d.ts +2 -2
- package/build/actions/process.d.ts.map +1 -1
- package/build/actions/process.js.map +1 -1
- package/build/auth/plugins/google-client.d.ts +4 -0
- package/build/auth/plugins/google-client.d.ts.map +1 -0
- package/build/auth/plugins/google-client.js +147 -0
- package/build/auth/plugins/google-client.js.map +1 -0
- package/build/auth/plugins/index.d.ts.map +1 -1
- package/build/auth/plugins/index.js +3 -1
- package/build/auth/plugins/index.js.map +1 -1
- package/build/gate.d.ts +1 -1
- package/build/gate.d.ts.map +1 -1
- package/build/guard.d.ts +2 -2
- package/build/guard.d.ts.map +1 -1
- package/build/guard.js +1 -1
- package/build/guard.js.map +1 -1
- package/build/index.d.ts +1 -1
- package/build/index.d.ts.map +1 -1
- package/build/index.js.map +1 -1
- package/build/model/gate.d.ts.map +1 -1
- package/build/model/gate.js +4 -1
- package/build/model/gate.js.map +1 -1
- package/build/modules.d.ts +2 -2
- package/build/modules.d.ts.map +1 -1
- package/build/modules.js +3 -3
- package/build/modules.js.map +1 -1
- package/build/service.d.ts.map +1 -1
- package/build/service.js +15 -7
- package/build/service.js.map +1 -1
- package/build/types.d.ts +44 -7
- package/build/types.d.ts.map +1 -1
- package/build/utils/auth.d.ts +2 -2
- package/build/utils/auth.d.ts.map +1 -1
- package/build/utils/auth.js.map +1 -1
- package/build/utils/types.d.ts +3 -2
- package/build/utils/types.d.ts.map +1 -1
- package/build/wrapper.js +2 -2
- package/build/wrapper.js.map +1 -1
- package/package.json +25 -20
- package/src/actions/init.ts +5 -5
- package/src/actions/process.ts +2 -2
- package/src/auth/plugins/google-client.ts +189 -0
- package/src/auth/plugins/index.ts +3 -1
- package/src/gate.ts +1 -1
- package/src/guard.ts +3 -3
- package/src/index.ts +17 -1
- package/src/model/gate.ts +6 -2
- package/src/modules.ts +6 -6
- package/src/service.ts +22 -12
- package/src/types.ts +67 -8
- package/src/utils/auth.ts +2 -3
- package/src/utils/types.ts +3 -2
- package/src/wrapper.ts +8 -8
- package/tests/context.ts +44 -0
- package/tests/google-client.spec.ts +123 -0
- package/tests/service.spec.ts +75 -0
- package/tests/tsconfig.json +12 -0
- package/tsconfig.json +6 -5
- package/build/.gitkeep +0 -0
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { AuthPlugin } from '@owlmeans/server-auth/manager/plugins';
|
|
2
|
+
import type { Config, Context } from '../../types.js';
|
|
3
|
+
export declare const googleClientPlugin: <C extends Config, T extends Context<C>>(context: T, service?: string) => AuthPlugin;
|
|
4
|
+
//# sourceMappingURL=google-client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"google-client.d.ts","sourceRoot":"","sources":["../../../src/auth/plugins/google-client.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uCAAuC,CAAA;AAEvE,OAAO,KAAK,EAAE,MAAM,EAAE,OAAO,EAAqB,MAAM,gBAAgB,CAAA;AAgBxE,eAAO,MAAM,kBAAkB,GAAI,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,OAAO,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,EAAE,UAAS,MAAuB,KAAG,UAyKzH,CAAA"}
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
import { assertType } from '@owlmeans/server-auth/manager/plugins';
|
|
2
|
+
import { GOOGLE_CLIENT_AUTH, GOOGLE_SERVICE } from '@owlmeans/oidc';
|
|
3
|
+
import { base64urlnopad as base64 } from '@scure/base';
|
|
4
|
+
import { randomBytes } from '@noble/hashes/utils';
|
|
5
|
+
import { sha256 } from '@noble/hashes/sha256';
|
|
6
|
+
import { ALL_SCOPES, AuthenFailed, AuthenPayloadError, AuthManagerError, AuthRole } from '@owlmeans/auth';
|
|
7
|
+
import { AUTHEN_TIMEFRAME } from '@owlmeans/server-auth';
|
|
8
|
+
import { cache, verifierId, exchangeId } from '../../utils/cache.js';
|
|
9
|
+
import { DEFAULT_ALIAS } from '../../consts.js';
|
|
10
|
+
const GOOGLE_AUTH_ENDPOINT = 'https://accounts.google.com/o/oauth2/v2/auth';
|
|
11
|
+
const GOOGLE_TOKEN_ENDPOINT = 'https://oauth2.googleapis.com/token';
|
|
12
|
+
const GOOGLE_USERINFO_ENDPOINT = 'https://www.googleapis.com/oauth2/v3/userinfo';
|
|
13
|
+
export const googleClientPlugin = (context, service = GOOGLE_SERVICE) => {
|
|
14
|
+
const getGoogleConfig = async () => {
|
|
15
|
+
const oidc = context.service(DEFAULT_ALIAS);
|
|
16
|
+
const cfg = await oidc.getConfig({ service });
|
|
17
|
+
if (cfg == null || cfg.clientId == null || cfg.secret == null) {
|
|
18
|
+
throw new AuthManagerError('google.config');
|
|
19
|
+
}
|
|
20
|
+
return cfg;
|
|
21
|
+
};
|
|
22
|
+
const plugin = {
|
|
23
|
+
type: GOOGLE_CLIENT_AUTH,
|
|
24
|
+
init: async (request) => {
|
|
25
|
+
assertType(request.type, plugin);
|
|
26
|
+
const google = await getGoogleConfig();
|
|
27
|
+
if (request.source == null) {
|
|
28
|
+
throw new AuthenPayloadError('redirect-uri');
|
|
29
|
+
}
|
|
30
|
+
const verifier = base64.encode(randomBytes(32));
|
|
31
|
+
const challenge = base64.encode(sha256(verifier));
|
|
32
|
+
// Use a random state for cache lookup on callback
|
|
33
|
+
const state = base64.encode(randomBytes(16));
|
|
34
|
+
await cache(context).create({
|
|
35
|
+
id: verifierId(state),
|
|
36
|
+
verifier,
|
|
37
|
+
client: google.clientId,
|
|
38
|
+
redirectUri: request.source,
|
|
39
|
+
}, { ttl: AUTHEN_TIMEFRAME / 1000 });
|
|
40
|
+
const scopes = google.extraScopes ?? 'openid profile email';
|
|
41
|
+
const authEndpoint = google.authEndpoint ?? GOOGLE_AUTH_ENDPOINT;
|
|
42
|
+
// Use request.source as redirect_uri — it's the browser's current auth page URL
|
|
43
|
+
const params = new URLSearchParams({
|
|
44
|
+
client_id: google.clientId,
|
|
45
|
+
redirect_uri: request.source,
|
|
46
|
+
response_type: 'code',
|
|
47
|
+
scope: scopes,
|
|
48
|
+
code_challenge: challenge,
|
|
49
|
+
code_challenge_method: 'S256',
|
|
50
|
+
state,
|
|
51
|
+
access_type: 'offline',
|
|
52
|
+
prompt: 'consent',
|
|
53
|
+
});
|
|
54
|
+
const url = `${authEndpoint}?${params.toString()}`;
|
|
55
|
+
return { challenge: url };
|
|
56
|
+
},
|
|
57
|
+
authenticate: async (credential) => {
|
|
58
|
+
const google = await getGoogleConfig();
|
|
59
|
+
// credential.credential contains the query params from Google callback
|
|
60
|
+
const callbackParams = new URLSearchParams(credential.credential);
|
|
61
|
+
const code = callbackParams.get('code');
|
|
62
|
+
const state = callbackParams.get('state');
|
|
63
|
+
if (code == null) {
|
|
64
|
+
throw new AuthenPayloadError('code');
|
|
65
|
+
}
|
|
66
|
+
if (state == null || state === '') {
|
|
67
|
+
throw new AuthenPayloadError('state');
|
|
68
|
+
}
|
|
69
|
+
// Look up the PKCE verifier using the state parameter
|
|
70
|
+
const verification = await cache(context).pick(verifierId(state));
|
|
71
|
+
if (verification == null || verification.verifier == null) {
|
|
72
|
+
throw new AuthenFailed();
|
|
73
|
+
}
|
|
74
|
+
// Use the redirect_uri stored during init for token exchange
|
|
75
|
+
const redirectUri = verification.redirectUri;
|
|
76
|
+
if (redirectUri == null) {
|
|
77
|
+
throw new AuthenFailed();
|
|
78
|
+
}
|
|
79
|
+
// Exchange code for tokens
|
|
80
|
+
const tokenEndpoint = google.tokenEndpoint ?? GOOGLE_TOKEN_ENDPOINT;
|
|
81
|
+
const tokenResponse = await fetch(tokenEndpoint, {
|
|
82
|
+
method: 'POST',
|
|
83
|
+
headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
|
|
84
|
+
body: new URLSearchParams({
|
|
85
|
+
code,
|
|
86
|
+
client_id: google.clientId,
|
|
87
|
+
client_secret: google.secret,
|
|
88
|
+
redirect_uri: redirectUri,
|
|
89
|
+
grant_type: 'authorization_code',
|
|
90
|
+
code_verifier: verification.verifier,
|
|
91
|
+
}),
|
|
92
|
+
});
|
|
93
|
+
if (!tokenResponse.ok) {
|
|
94
|
+
throw new AuthenFailed();
|
|
95
|
+
}
|
|
96
|
+
const tokens = await tokenResponse.json();
|
|
97
|
+
if (tokens.access_token == null) {
|
|
98
|
+
throw new AuthenFailed();
|
|
99
|
+
}
|
|
100
|
+
// Fetch user info
|
|
101
|
+
const userinfoEndpoint = google.userinfoEndpoint ?? GOOGLE_USERINFO_ENDPOINT;
|
|
102
|
+
const userinfoResponse = await fetch(userinfoEndpoint, {
|
|
103
|
+
headers: { Authorization: `Bearer ${tokens.access_token}` },
|
|
104
|
+
});
|
|
105
|
+
if (!userinfoResponse.ok) {
|
|
106
|
+
throw new AuthenFailed();
|
|
107
|
+
}
|
|
108
|
+
const userinfo = await userinfoResponse.json();
|
|
109
|
+
if (userinfo.sub == null || userinfo.email == null) {
|
|
110
|
+
throw new AuthenFailed();
|
|
111
|
+
}
|
|
112
|
+
// Use the account linking service to load or create identity
|
|
113
|
+
const oidc = context.service(DEFAULT_ALIAS);
|
|
114
|
+
const store = oidc.accountLinking();
|
|
115
|
+
if (store == null) {
|
|
116
|
+
throw new AuthManagerError('google.account.store');
|
|
117
|
+
}
|
|
118
|
+
const profileDetails = {
|
|
119
|
+
type: GOOGLE_CLIENT_AUTH,
|
|
120
|
+
service,
|
|
121
|
+
clientId: google.clientId,
|
|
122
|
+
userId: userinfo.sub,
|
|
123
|
+
username: userinfo.name ?? userinfo.email,
|
|
124
|
+
};
|
|
125
|
+
let profile = await store.getLinkedProfile(profileDetails);
|
|
126
|
+
if (profile == null) {
|
|
127
|
+
profile = await store.linkProfile(profileDetails, {
|
|
128
|
+
username: userinfo.email,
|
|
129
|
+
force: false,
|
|
130
|
+
});
|
|
131
|
+
}
|
|
132
|
+
// Generate exchange token for the auth manager to issue final bearer
|
|
133
|
+
const exchangeToken = base64.encode(randomBytes(32));
|
|
134
|
+
await cache(context).create({ id: exchangeId(exchangeToken), payload: tokens }, { ttl: AUTHEN_TIMEFRAME / 1000 });
|
|
135
|
+
credential.scopes = [ALL_SCOPES];
|
|
136
|
+
credential.source = google.clientId;
|
|
137
|
+
credential.role = AuthRole.User;
|
|
138
|
+
credential.type = GOOGLE_CLIENT_AUTH;
|
|
139
|
+
credential.userId = profile.userId;
|
|
140
|
+
credential.profileId = profile.profileId;
|
|
141
|
+
credential.entityId = profile.entityId;
|
|
142
|
+
return { token: exchangeToken };
|
|
143
|
+
}
|
|
144
|
+
};
|
|
145
|
+
return plugin;
|
|
146
|
+
};
|
|
147
|
+
//# sourceMappingURL=google-client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"google-client.js","sourceRoot":"","sources":["../../../src/auth/plugins/google-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/auth/plugins/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/auth/plugins/index.ts"],"names":[],"mappings":"AASA,eAAO,MAAM,OAAO,0NAAc,CAAA"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { plugins as authPlugins } from '@owlmeans/server-auth/manager';
|
|
2
2
|
import { oidcClientPlugin } from './oidc-client.js';
|
|
3
|
-
import {
|
|
3
|
+
import { googleClientPlugin } from './google-client.js';
|
|
4
|
+
import { OIDC_CLIENT_AUTH, GOOGLE_CLIENT_AUTH } from '@owlmeans/oidc';
|
|
4
5
|
authPlugins[OIDC_CLIENT_AUTH] = oidcClientPlugin;
|
|
6
|
+
authPlugins[GOOGLE_CLIENT_AUTH] = googleClientPlugin;
|
|
5
7
|
export const plugins = authPlugins;
|
|
6
8
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/auth/plugins/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,+BAA+B,CAAA;AACtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/auth/plugins/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,+BAA+B,CAAA;AACtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AACvD,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AAErE,WAAW,CAAC,gBAAgB,CAAC,GAAG,gBAAgE,CAAA;AAChG,WAAW,CAAC,kBAAkB,CAAC,GAAG,kBAAkE,CAAA;AAEpG,MAAM,CAAC,MAAM,OAAO,GAAG,WAAW,CAAA"}
|
package/build/gate.d.ts
CHANGED
package/build/gate.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gate.d.ts","sourceRoot":"","sources":["../src/gate.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"gate.d.ts","sourceRoot":"","sources":["../src/gate.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAMvD,eAAO,MAAM,YAAY,GAAI,QAAO,MAAkB,KAAG,WAqBxD,CAAA"}
|
package/build/guard.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { OidcGuardOptions } from '@owlmeans/oidc';
|
|
2
2
|
import type { Config, Context } from './types.js';
|
|
3
|
-
import type {
|
|
3
|
+
import type { CommonEntrypoint } from '@owlmeans/entrypoint';
|
|
4
4
|
export declare const appendOidcGuard: <C extends Config, T extends Context<C>>(context: T, opts?: OidcGuardOptions) => T;
|
|
5
|
-
export declare const setupOidcGuard: (modules:
|
|
5
|
+
export declare const setupOidcGuard: (modules: CommonEntrypoint[], coguards?: string | string[]) => void;
|
|
6
6
|
//# sourceMappingURL=guard.d.ts.map
|
package/build/guard.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"guard.d.ts","sourceRoot":"","sources":["../src/guard.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AACtD,OAAO,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AACjD,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"guard.d.ts","sourceRoot":"","sources":["../src/guard.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AACtD,OAAO,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AACjD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AAS5D,eAAO,MAAM,eAAe,GAAI,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,OAAO,CAAC,CAAC,CAAC,EACpE,SAAS,CAAC,EAAE,OAAO,gBAAgB,MAKpC,CAAA;AAED,eAAO,MAAM,cAAc,GAAI,SAAS,gBAAgB,EAAE,EAAE,WAAW,MAAM,GAAG,MAAM,EAAE,SAKvF,CAAA"}
|
package/build/guard.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { appendOidcGuard as appendBasicOidcGuard, setupOidcGuard as setupBasicOidcGuard, DISPATCHER_OIDC, DISPATCHER_OIDC_INIT } from '@owlmeans/oidc';
|
|
2
|
-
import { elevate } from '@owlmeans/server-
|
|
2
|
+
import { elevate } from '@owlmeans/server-entrypoint';
|
|
3
3
|
import * as actions from './actions/index.js';
|
|
4
4
|
export const appendOidcGuard = (context, opts) => {
|
|
5
5
|
const ctx = appendBasicOidcGuard(context, opts);
|
package/build/guard.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"guard.js","sourceRoot":"","sources":["../src/guard.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,eAAe,IAAI,oBAAoB,EACvC,cAAc,IAAI,mBAAmB,EACrC,eAAe,EAAE,oBAAoB,EACtC,MAAM,gBAAgB,CAAA;AACvB,OAAO,EAAE,OAAO,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"guard.js","sourceRoot":"","sources":["../src/guard.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,eAAe,IAAI,oBAAoB,EACvC,cAAc,IAAI,mBAAmB,EACrC,eAAe,EAAE,oBAAoB,EACtC,MAAM,gBAAgB,CAAA;AACvB,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAA;AACrD,OAAO,KAAK,OAAO,MAAM,oBAAoB,CAAA;AAE7C,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,OAAU,EAAE,IAAuB,EACnC,EAAE;IACF,MAAM,GAAG,GAAG,oBAAoB,CAAO,OAAO,EAAE,IAAI,CAAC,CAAA;IAErD,OAAO,GAAG,CAAA;AACZ,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,OAA2B,EAAE,QAA4B,EAAE,EAAE;IAC1F,mBAAmB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;IAEtC,OAAO,CAAC,OAAO,EAAE,oBAAoB,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;IACpD,OAAO,CAAC,OAAO,EAAE,eAAe,EAAE,OAAO,CAAC,YAAY,CAAC,CAAA;AACzD,CAAC,CAAA"}
|
package/build/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export type
|
|
1
|
+
export type { OidcClientDescriptor, OidcTokenSet, OidcTokenSetParameters, OidcGrantChecks, OidcServerMetadata, OidcIntrospectionResponse, OidcClientService, OidcClientAdapter, OidcRpConfig, Config, Context, AccountLinkingService, AccountMeta, ProviderApiService, } from './types.js';
|
|
2
2
|
export * from './consts.js';
|
|
3
3
|
export * from './service.js';
|
|
4
4
|
export * from './guard.js';
|
package/build/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,YAAY,EACV,oBAAoB,EACpB,YAAY,EACZ,sBAAsB,EACtB,eAAe,EACf,kBAAkB,EAClB,yBAAyB,EACzB,iBAAiB,EACjB,iBAAiB,EACjB,YAAY,EACZ,MAAM,EACN,OAAO,EACP,qBAAqB,EACrB,WAAW,EACX,kBAAkB,GACnB,MAAM,YAAY,CAAA;AACnB,cAAc,aAAa,CAAA;AAC3B,cAAc,cAAc,CAAA;AAC5B,cAAc,YAAY,CAAA;AAC1B,cAAc,WAAW,CAAA;AACzB,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA"}
|
package/build/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAiBA,cAAc,aAAa,CAAA;AAC3B,cAAc,cAAc,CAAA;AAC5B,cAAc,YAAY,CAAA;AAC1B,cAAc,WAAW,CAAA;AACzB,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gate.d.ts","sourceRoot":"","sources":["../../src/model/gate.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,OAAO,EAAqB,MAAM,aAAa,CAAA;AAErE,OAAO,KAAK,EAAE,SAAS,EAAyC,MAAM,YAAY,CAAA;AAKlF,eAAO,MAAM,eAAe,GAAI,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,KAAG,
|
|
1
|
+
{"version":3,"file":"gate.d.ts","sourceRoot":"","sources":["../../src/model/gate.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,OAAO,EAAqB,MAAM,aAAa,CAAA;AAErE,OAAO,KAAK,EAAE,SAAS,EAAyC,MAAM,YAAY,CAAA;AAKlF,eAAO,MAAM,eAAe,GAAI,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,KAAG,SA2HhF,CAAA"}
|
package/build/model/gate.js
CHANGED
|
@@ -14,7 +14,7 @@ export const createGateModel = (ctx) => {
|
|
|
14
14
|
}
|
|
15
15
|
catch (e) {
|
|
16
16
|
if (e instanceof AuthManagerError) {
|
|
17
|
-
const [providers] = await ctx.
|
|
17
|
+
const [providers] = await ctx.entrypoint(authService.provider.list).call({
|
|
18
18
|
params: { service: ctx.cfg.alias ?? ctx.cfg.service },
|
|
19
19
|
query: { entityId: user.entityId }
|
|
20
20
|
});
|
|
@@ -42,6 +42,9 @@ export const createGateModel = (ctx) => {
|
|
|
42
42
|
request.subject_token = record.payload.access_token;
|
|
43
43
|
const response = await fetch(tokenEndpoint, await model.prepareRequest(client, request));
|
|
44
44
|
if (!response.ok) {
|
|
45
|
+
if (response.status === 400) {
|
|
46
|
+
throw new AuthUnknown('invalid');
|
|
47
|
+
}
|
|
45
48
|
console.warn(await response.text());
|
|
46
49
|
return [];
|
|
47
50
|
}
|
package/build/model/gate.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gate.js","sourceRoot":"","sources":["../../src/model/gate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AACrG,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAEzD,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAEpD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAI1C,MAAM,CAAC,MAAM,eAAe,GAAG,CAAyC,GAAM,EAAa,EAAE;IAC3F,MAAM,KAAK,GAAc;QACvB,SAAS,EAAE,KAAK,EAAC,IAAI,EAAC,EAAE;YACtB,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,CAAoB,aAAa,CAAC,CAAA;YAC1D,IAAI,CAAC;gBACH,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC;oBAC1B,QAAQ,EAAE,IAAI,CAAC,QAAQ;oBACvB,QAAQ,EAAE,IAAI,CAAC,gBAAgB,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;iBAC7D,CAAC,CAAA;YACJ,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,IAAI,CAAC,YAAY,gBAAgB,EAAE,CAAC;oBAClC,MAAM,CAAC,SAAS,CAAC,GAAG,MAAM,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"gate.js","sourceRoot":"","sources":["../../src/model/gate.ts"],"names":[],"mappings":"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"}
|
package/build/modules.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
export declare const setupAuthServiceModules: (modules:
|
|
1
|
+
import type { CommonEntrypoint } from '@owlmeans/entrypoint';
|
|
2
|
+
export declare const setupAuthServiceModules: (modules: CommonEntrypoint[], serviceAlias: string, prefix?: string) => void;
|
|
3
3
|
//# sourceMappingURL=modules.d.ts.map
|
package/build/modules.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"modules.d.ts","sourceRoot":"","sources":["../src/modules.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"modules.d.ts","sourceRoot":"","sources":["../src/modules.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AAQ5D,eAAO,MAAM,uBAAuB,GAClC,SAAS,gBAAgB,EAAE,EAC3B,cAAc,MAAM,EACpB,SAAQ,MAAmB,SAkB5B,CAAA"}
|
package/build/modules.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { entrypoint, guard, filter, body } from '@owlmeans/entrypoint';
|
|
2
2
|
import { backend, route, RouteMethod, service } from '@owlmeans/route';
|
|
3
3
|
import { authService } from './consts.js';
|
|
4
|
-
import { elevate } from '@owlmeans/client-
|
|
4
|
+
import { elevate } from '@owlmeans/client-entrypoint';
|
|
5
5
|
import { GUARD_ED25519 } from '@owlmeans/auth-common';
|
|
6
6
|
import { OIDCTokenUpdateSchema } from '@owlmeans/oidc';
|
|
7
7
|
export const setupAuthServiceModules = (modules, serviceAlias, prefix = 'oidc-api') => {
|
|
8
|
-
modules.push(
|
|
8
|
+
modules.push(entrypoint(route(authService.provider.list, `/${prefix}/provider/:service`, service(serviceAlias)), guard(GUARD_ED25519)), entrypoint(route(authService.auth.update, `/${prefix}/auth/update`, backend(service(serviceAlias), RouteMethod.POST)), filter(body(OIDCTokenUpdateSchema), guard(GUARD_ED25519))));
|
|
9
9
|
elevate(modules, authService.provider.list);
|
|
10
10
|
elevate(modules, authService.auth.update);
|
|
11
11
|
};
|
package/build/modules.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"modules.js","sourceRoot":"","sources":["../src/modules.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"modules.js","sourceRoot":"","sources":["../src/modules.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAA;AACtE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AACtE,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAA;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AACrD,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAA;AAEtD,MAAM,CAAC,MAAM,uBAAuB,GAAG,CACrC,OAA2B,EAC3B,YAAoB,EACpB,SAAiB,UAAU,EAC3B,EAAE;IACF,OAAO,CAAC,IAAI,CACV,UAAU,CACR,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,MAAM,oBAAoB,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,EACvF,KAAK,CAAC,aAAa,CAAC,CACrB,EACD,UAAU,CACR,KAAK,CACH,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,MAAM,cAAc,EACjD,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,WAAW,CAAC,IAAI,CAAC,CACjD,EACD,MAAM,CAAC,IAAI,CAAC,qBAAqB,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC,CAC1D,CACF,CAAA;IAED,OAAO,CAAC,OAAO,EAAE,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;IAC3C,OAAO,CAAC,OAAO,EAAE,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;AAC3C,CAAC,CAAA"}
|
package/build/service.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAA0C,iBAAiB,
|
|
1
|
+
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAA0C,iBAAiB,EAA0G,MAAM,YAAY,CAAA;AASnM,eAAO,MAAM,qBAAqB,GAAI,QAAO,MAAsB,KAAG,iBAgPrE,CAAA"}
|
package/build/service.js
CHANGED
|
@@ -16,7 +16,7 @@ export const makeOidcClientService = (alias = DEFAULT_ALIAS) => {
|
|
|
16
16
|
if (cfg.service == null) {
|
|
17
17
|
throw new AuthManagerError('oidc.client.service');
|
|
18
18
|
}
|
|
19
|
-
if (typeof clientId === 'object' && clientId.clientId == null) {
|
|
19
|
+
if (typeof clientId === 'object' && clientId.clientId == null && cfg.clientId == null) {
|
|
20
20
|
throw new AuthManagerError('oidc.client.client-id');
|
|
21
21
|
}
|
|
22
22
|
// @TODO Add support for any domain (not just registered services)
|
|
@@ -62,7 +62,6 @@ export const makeOidcClientService = (alias = DEFAULT_ALIAS) => {
|
|
|
62
62
|
getClientId: () => cfg.idOverride ?? _clientId,
|
|
63
63
|
getConfig: () => cfg,
|
|
64
64
|
makeAuthUrl: params => client.buildAuthorizationUrl(descriptor, params).toString(),
|
|
65
|
-
// grantWithCredentials: async () => client.clientCredentialsGrant(descriptor, { grant_type: 'client_credentials' }),
|
|
66
65
|
grantWithCredentials: async () => client.clientCredentialsGrant(descriptor),
|
|
67
66
|
grantWithCode: async (url, checks, params) => {
|
|
68
67
|
const urlObj = new URL(url);
|
|
@@ -73,28 +72,33 @@ export const makeOidcClientService = (alias = DEFAULT_ALIAS) => {
|
|
|
73
72
|
urlObj.searchParams.set(key, value);
|
|
74
73
|
});
|
|
75
74
|
checks.idTokenExpected ??= true;
|
|
76
|
-
return
|
|
75
|
+
return client.authorizationCodeGrant(descriptor, urlObj, checks);
|
|
77
76
|
},
|
|
78
77
|
refresh: async (tokenSet) => {
|
|
79
78
|
const refreshToken = typeof tokenSet === 'string' ? tokenSet : tokenSet.refresh_token;
|
|
80
79
|
if (refreshToken == null) {
|
|
81
80
|
throw new AuthManagerError('refresh-token');
|
|
82
81
|
}
|
|
83
|
-
return
|
|
82
|
+
return client.refreshTokenGrant(descriptor, refreshToken);
|
|
83
|
+
},
|
|
84
|
+
introspect: async (tokenSet, type = 'access_token') => {
|
|
85
|
+
const tokenValue = type === 'refresh_token' ? tokenSet.refresh_token
|
|
86
|
+
: type === 'id_token' ? tokenSet.id_token
|
|
87
|
+
: tokenSet.access_token;
|
|
88
|
+
return client.tokenIntrospection(descriptor, tokenValue);
|
|
84
89
|
},
|
|
85
|
-
introspect: async (tokenSet, type = 'access_token') => await client.tokenIntrospection(descriptor, tokenSet[type]),
|
|
86
90
|
};
|
|
87
91
|
},
|
|
88
92
|
getConfig: async (clientId) => {
|
|
89
93
|
const context = assertContext(service.ctx, alias);
|
|
90
|
-
if (typeof clientId === 'object' && clientId.clientId == null) {
|
|
94
|
+
if (typeof clientId === 'object' && clientId.clientId == null && clientId.service == null) {
|
|
91
95
|
throw new AuthManagerError('oidc.client.client-id');
|
|
92
96
|
}
|
|
93
97
|
return context.cfg.oidc.providers?.find(consumer => {
|
|
94
98
|
if (typeof clientId === 'string') {
|
|
95
99
|
return consumer.clientId === clientId;
|
|
96
100
|
}
|
|
97
|
-
return Object.entries(clientId).every(([key, value]) => consumer[key] === value);
|
|
101
|
+
return Object.entries(clientId).every(([key, value]) => value == null || consumer[key] === value);
|
|
98
102
|
});
|
|
99
103
|
},
|
|
100
104
|
getDefault: () => {
|
|
@@ -119,6 +123,10 @@ export const makeOidcClientService = (alias = DEFAULT_ALIAS) => {
|
|
|
119
123
|
}
|
|
120
124
|
return null;
|
|
121
125
|
},
|
|
126
|
+
findProvider: predicate => {
|
|
127
|
+
const context = assertContext(service.ctx, alias);
|
|
128
|
+
return (context.cfg.oidc.providers ?? []).find(predicate);
|
|
129
|
+
},
|
|
122
130
|
hasProvider: params => {
|
|
123
131
|
const ctx = service.assertCtx();
|
|
124
132
|
if (ctx.cfg.oidc.providers == null) {
|
package/build/service.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.js","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,qBAAqB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAC5F,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"service.js","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"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"}
|
package/build/types.d.ts
CHANGED
|
@@ -1,10 +1,46 @@
|
|
|
1
1
|
import type { InitializedService } from '@owlmeans/context';
|
|
2
|
-
import type { AuthorizationCodeGrantChecks, Configuration, IntrospectionResponse, ServerMetadata, TokenEndpointResponse, TokenEndpointResponseHelpers } from 'openid-client';
|
|
3
2
|
import type { ServerConfig, ServerContext } from '@owlmeans/server-context';
|
|
4
3
|
import type { OidcProviderConfig, OidcSharedConfig, WithSharedConfig, ProviderProfileDetails, OidcUserDetails, OidcProviderSettings } from '@owlmeans/oidc';
|
|
5
4
|
import type { AuthCredentials, AuthPayload, Profile } from '@owlmeans/auth';
|
|
5
|
+
import type { Configuration, ServerMetadata, TokenEndpointResponse, TokenEndpointResponseHelpers } from 'openid-client';
|
|
6
|
+
/** Opaque descriptor for an OIDC client configuration obtained via discovery.
|
|
7
|
+
* Consumers receive and pass it back; they must never read its internals. */
|
|
6
8
|
export type OidcClientDescriptor = Configuration;
|
|
9
|
+
/** Token set returned from any grant. Includes the standard OAuth2 fields
|
|
10
|
+
* plus the openid-client helper method `claims()` for ID-token claim access. */
|
|
11
|
+
export interface OidcTokenSet {
|
|
12
|
+
access_token?: string;
|
|
13
|
+
refresh_token?: string;
|
|
14
|
+
id_token?: string;
|
|
15
|
+
token_type?: string;
|
|
16
|
+
expires_in?: number;
|
|
17
|
+
scope?: string;
|
|
18
|
+
/** Decode and return claims from the ID token. */
|
|
19
|
+
claims: () => Record<string, unknown>;
|
|
20
|
+
}
|
|
21
|
+
/** Subset of OidcTokenSet without helper methods; used for storage/serialization. */
|
|
22
|
+
export type OidcTokenSetParameters = Pick<OidcTokenSet, 'access_token' | 'refresh_token' | 'id_token' | 'token_type' | 'expires_in' | 'scope'>;
|
|
23
|
+
/** PKCE + ID-token check parameters for the authorization-code grant. */
|
|
24
|
+
export interface OidcGrantChecks {
|
|
25
|
+
pkceCodeVerifier?: string;
|
|
26
|
+
idTokenExpected?: boolean;
|
|
27
|
+
}
|
|
28
|
+
/** Issuer/endpoint metadata from the OIDC discovery document. */
|
|
29
|
+
export type OidcServerMetadata = ServerMetadata;
|
|
30
|
+
/** Response from token introspection. */
|
|
31
|
+
export interface OidcIntrospectionResponse {
|
|
32
|
+
active: boolean;
|
|
33
|
+
scope?: string;
|
|
34
|
+
sub?: string;
|
|
35
|
+
client_id?: string;
|
|
36
|
+
token_type?: string;
|
|
37
|
+
exp?: number;
|
|
38
|
+
iat?: number;
|
|
39
|
+
[key: string]: unknown;
|
|
40
|
+
}
|
|
41
|
+
/** @internal — internal alias; do not export from index.ts */
|
|
7
42
|
export type TokenSet = TokenEndpointResponse & TokenEndpointResponseHelpers;
|
|
43
|
+
/** @internal */
|
|
8
44
|
export type TokenSetParameters = TokenEndpointResponse;
|
|
9
45
|
export interface OidcClientService extends InitializedService {
|
|
10
46
|
getConfiguration: (clientId: string | Partial<OidcProviderConfig>) => Promise<OidcClientDescriptor>;
|
|
@@ -13,20 +49,21 @@ export interface OidcClientService extends InitializedService {
|
|
|
13
49
|
getDefault: () => string | undefined;
|
|
14
50
|
registerTemporaryProvider: (config: OidcProviderConfig) => OidcProviderConfig;
|
|
15
51
|
unregisterTemporaryProvider: (params: Partial<OidcProviderConfig>) => void;
|
|
16
|
-
hasProvider: (params: Partial<OidcProviderConfig>) => boolean;
|
|
52
|
+
hasProvider: (params: string | Partial<OidcProviderConfig>) => boolean;
|
|
17
53
|
entityToClientId: (params: Partial<OidcProviderConfig>) => string;
|
|
18
54
|
providerApi: () => ProviderApiService | null;
|
|
19
55
|
accountLinking: () => AccountLinkingService | null;
|
|
56
|
+
findProvider: (predicate: (provider: OidcProviderConfig) => boolean) => OidcProviderConfig | undefined;
|
|
20
57
|
}
|
|
21
58
|
export interface OidcClientAdapter {
|
|
22
|
-
getMetadata: () =>
|
|
59
|
+
getMetadata: () => OidcServerMetadata;
|
|
23
60
|
getClientId: () => string;
|
|
24
61
|
getConfig: () => OidcProviderConfig;
|
|
25
62
|
makeAuthUrl: (params: Record<string, string>) => string;
|
|
26
|
-
grantWithCredentials: () => Promise<
|
|
27
|
-
grantWithCode: (currentUrl: string, checks:
|
|
28
|
-
refresh: (tokenSet:
|
|
29
|
-
introspect: (tokenSet:
|
|
63
|
+
grantWithCredentials: () => Promise<OidcTokenSet>;
|
|
64
|
+
grantWithCode: (currentUrl: string, checks: OidcGrantChecks, params: Record<string, string>) => Promise<OidcTokenSet>;
|
|
65
|
+
refresh: (tokenSet: OidcTokenSetParameters | string) => Promise<OidcTokenSetParameters>;
|
|
66
|
+
introspect: (tokenSet: OidcTokenSetParameters, type?: string) => Promise<OidcIntrospectionResponse>;
|
|
30
67
|
}
|
|
31
68
|
export interface OidcRpConfig extends OidcSharedConfig {
|
|
32
69
|
accountLinkingService?: string;
|
package/build/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AAC3D,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/build/utils/auth.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { AuthCredentials } from '@owlmeans/auth';
|
|
2
|
-
import type { Config, Context,
|
|
2
|
+
import type { Config, Context, OidcTokenSet } from '../types.js';
|
|
3
3
|
import type { OidcProviderConfig } from '@owlmeans/oidc';
|
|
4
|
-
export declare const makeOidcAuthentication: <C extends Config, T extends Context<C>>(context: T) => (credential: AuthCredentials) => Promise<[OidcProviderConfig,
|
|
4
|
+
export declare const makeOidcAuthentication: <C extends Config, T extends Context<C>>(context: T) => (credential: AuthCredentials) => Promise<[OidcProviderConfig, OidcTokenSet, string]>;
|
|
5
5
|
//# sourceMappingURL=auth.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/utils/auth.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAErD,OAAO,KAAK,EAAE,MAAM,EAAE,OAAO,EAAqB,
|
|
1
|
+
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/utils/auth.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAErD,OAAO,KAAK,EAAE,MAAM,EAAE,OAAO,EAAqB,YAAY,EAAE,MAAM,aAAa,CAAA;AACnF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AAQxD,eAAO,MAAM,sBAAsB,GAAI,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,OAAO,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,MAChF,YAAY,eAAe,KAAG,OAAO,CAAC,CAAC,kBAAkB,EAAE,YAAY,EAAE,MAAM,CAAC,CAqDtF,CAAA"}
|
package/build/utils/auth.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/utils/auth.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/utils/auth.ts"],"names":[],"mappings":"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"}
|
package/build/utils/types.d.ts
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import type { AuthSpent } from '@owlmeans/server-auth';
|
|
2
|
-
import type {
|
|
2
|
+
import type { OidcTokenSetParameters } from '../types.js';
|
|
3
3
|
export interface OIDCAuthCache extends AuthSpent {
|
|
4
4
|
verifier?: string;
|
|
5
|
-
payload?:
|
|
5
|
+
payload?: OidcTokenSetParameters;
|
|
6
6
|
client?: string;
|
|
7
7
|
validated?: Date;
|
|
8
8
|
entityId?: string;
|
|
9
|
+
redirectUri?: string;
|
|
9
10
|
}
|
|
10
11
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/utils/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AACtD,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/utils/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AACtD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAA;AAEzD,MAAM,WAAW,aAAc,SAAQ,SAAS;IAC9C,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,OAAO,CAAC,EAAE,sBAAsB,CAAA;IAChC,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,SAAS,CAAC,EAAE,IAAI,CAAA;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB"}
|