@seamless-auth/oidc-provider 0.2.0 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +47 -0
- package/README.md +95 -16
- package/dist/accessTokenClaims.d.ts +29 -0
- package/dist/accessTokenClaims.js +67 -0
- package/dist/accessTokenClaims.js.map +1 -0
- package/dist/accountClaims.d.ts +51 -0
- package/dist/accountClaims.js +102 -0
- package/dist/accountClaims.js.map +1 -0
- package/dist/adapter.js +26 -5
- package/dist/adapter.js.map +1 -1
- package/dist/apiClient.d.ts +3 -2
- package/dist/apiClient.js +3 -2
- package/dist/apiClient.js.map +1 -1
- package/dist/brandingContrast.d.ts +4 -0
- package/dist/brandingContrast.js +59 -0
- package/dist/brandingContrast.js.map +1 -0
- package/dist/claimsMismatch.d.ts +15 -0
- package/dist/claimsMismatch.js +90 -0
- package/dist/claimsMismatch.js.map +1 -0
- package/dist/createOidcEdge.d.ts +5 -0
- package/dist/createOidcEdge.js +43 -7
- package/dist/createOidcEdge.js.map +1 -1
- package/dist/deviceFlow.d.ts +2 -6
- package/dist/deviceFlow.js +2 -10
- package/dist/deviceFlow.js.map +1 -1
- package/dist/env.d.ts +1 -4
- package/dist/env.js +46 -4
- package/dist/env.js.map +1 -1
- package/dist/errorPage.d.ts +10 -0
- package/dist/errorPage.js +24 -0
- package/dist/errorPage.js.map +1 -0
- package/dist/hostedPages.d.ts +1 -0
- package/dist/hostedPages.js +24 -1
- package/dist/hostedPages.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/interactions.js +83 -30
- package/dist/interactions.js.map +1 -1
- package/dist/jwtAccessTokens.d.ts +1 -1
- package/dist/jwtAccessTokens.js +2 -1
- package/dist/jwtAccessTokens.js.map +1 -1
- package/dist/logout.d.ts +4 -0
- package/dist/logout.js +8 -1
- package/dist/logout.js.map +1 -1
- package/dist/providerConfig.d.ts +3 -3
- package/dist/providerConfig.js +22 -6
- package/dist/providerConfig.js.map +1 -1
- package/dist/requestContext.d.ts +1 -2
- package/dist/requestContext.js.map +1 -1
- package/dist/requestObjectErrors.d.ts +12 -0
- package/dist/requestObjectErrors.js +47 -0
- package/dist/requestObjectErrors.js.map +1 -0
- package/dist/resumeCookie.js +3 -1
- package/dist/resumeCookie.js.map +1 -1
- package/dist/server.js +2 -2
- package/dist/server.js.map +1 -1
- package/dist/signingKey.d.ts +31 -3
- package/dist/signingKey.js +104 -4
- package/dist/signingKey.js.map +1 -1
- package/dist/ui/assets/index-BLikvo1E.js +18 -0
- package/dist/ui/assets/index-DKah8G4b.css +1 -0
- package/dist/ui/index.html +2 -2
- package/package.json +11 -8
- package/dist/ui/assets/index-CydLXRvo.js +0 -18
- package/dist/ui/assets/index-y3LME-Gv.css +0 -1
package/dist/adapter.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter.js","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,OAAO,EAEL,sBAAsB,GAEvB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"adapter.js","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"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"}
|
package/dist/apiClient.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { type
|
|
1
|
+
import { type OidcAccountQuery, type OidcAuthContext, type OidcClientMetadata, type OidcClientResource, type OidcEdgeConfigResponse, type OidcEdgeEvent, type OidcJwksResponse, type OidcPayloadModel, type OidcPayloadRecord, type OidcPayloadUpsertRequest, type OidcPayloadUpsertResponse, type OidcSessionBindRequest, type OidcSessionRevokeRequest, type OidcSignRequest, type OidcSignResponse } from '@seamless-auth/types';
|
|
2
|
+
import { type OidcProviderAccount } from './accountClaims.js';
|
|
2
3
|
export declare const SERVICE_TOKEN_SUBJECT = "seamless-oidc-provider";
|
|
3
4
|
export interface OidcApiClientOptions {
|
|
4
5
|
apiUrl: string;
|
|
@@ -27,7 +28,7 @@ export declare class OidcApiClient {
|
|
|
27
28
|
clientResources(id: string): Promise<OidcClientResource[]>;
|
|
28
29
|
verifySecret(id: string, secret: string): Promise<boolean>;
|
|
29
30
|
/** Answers only for the user behind a session holding a grant for `clientId`. */
|
|
30
|
-
account(id: string, binding: OidcAccountQuery): Promise<
|
|
31
|
+
account(id: string, binding: OidcAccountQuery): Promise<OidcProviderAccount | undefined>;
|
|
31
32
|
/**
|
|
32
33
|
* Binds the session to `clientId` with the user's own access token for that session. The
|
|
33
34
|
* API answers nothing about a session, and signs nothing for it, until it is bound.
|
package/dist/apiClient.js
CHANGED
|
@@ -4,7 +4,8 @@
|
|
|
4
4
|
* See LICENSE file in the project root for full license information
|
|
5
5
|
*/
|
|
6
6
|
import { createServiceToken, DEV_JWKS_KID, SERVICE_TOKEN_AUDIENCE, SERVICE_TOKEN_ISSUER, } from '@seamless-auth/core';
|
|
7
|
-
import {
|
|
7
|
+
import { OidcAuthContextSchema, OidcClientMetadataSchema, OidcClientResourcesResponseSchema, OidcEdgeConfigResponseSchema, OidcEdgeRoutes, OidcJwksResponseSchema, OidcPayloadConsumeResponseSchema, OidcPayloadRecordSchema, OidcPayloadUpsertResponseSchema, OidcSignRefusalSchema, OidcSignResponseSchema, OidcVerifySecretResponseSchema, } from '@seamless-auth/types';
|
|
8
|
+
import { OidcProviderAccountSchema } from './accountClaims.js';
|
|
8
9
|
import { OidcApiError, OidcSignRefusedError } from './errors.js';
|
|
9
10
|
import { currentRequestContext } from './requestContext.js';
|
|
10
11
|
export const SERVICE_TOKEN_SUBJECT = 'seamless-oidc-provider';
|
|
@@ -115,7 +116,7 @@ export class OidcApiClient {
|
|
|
115
116
|
account(id, binding) {
|
|
116
117
|
const query = new URLSearchParams(binding).toString();
|
|
117
118
|
return this.#request('GET', `${routePath(OidcEdgeRoutes.account, { id })}?${query}`, {
|
|
118
|
-
schema:
|
|
119
|
+
schema: OidcProviderAccountSchema,
|
|
119
120
|
allowNotFound: true,
|
|
120
121
|
});
|
|
121
122
|
}
|
package/dist/apiClient.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"apiClient.js","sourceRoot":"","sources":["../src/apiClient.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,kBAAkB,EAClB,YAAY,EACZ,sBAAsB,EACtB,oBAAoB,GACrB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,
|
|
1
|
+
{"version":3,"file":"apiClient.js","sourceRoot":"","sources":["../src/apiClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { HostedUi } from '@seamless-auth/types';
|
|
2
|
+
export declare function contrastRatio(a: string, b: string): number;
|
|
3
|
+
/** The color pairs a branded palette leaves below WCAG 2.2 AA, as readable lines. */
|
|
4
|
+
export declare function brandingContrastProblems(hostedUi: HostedUi | undefined): string[];
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright © 2026 Fells Code, LLC
|
|
3
|
+
* Licensed under the Apache License, Version 2.0
|
|
4
|
+
* See LICENSE file in the project root for full license information
|
|
5
|
+
*/
|
|
6
|
+
/** The stylesheet's light palette (ui/src/styles.css), which unset colors fall back to. */
|
|
7
|
+
const DEFAULT_COLORS = {
|
|
8
|
+
primary: '#1f4fd1',
|
|
9
|
+
onPrimary: '#ffffff',
|
|
10
|
+
background: '#f5f6f8',
|
|
11
|
+
surface: '#ffffff',
|
|
12
|
+
text: '#1a1d21',
|
|
13
|
+
muted: '#4a515b',
|
|
14
|
+
};
|
|
15
|
+
/**
|
|
16
|
+
* The pairs the hosted pages draw. Text needs 4.5:1 (WCAG 1.4.3). The primary color is also
|
|
17
|
+
* the focus ring on the page background, which needs 3:1 (1.4.11).
|
|
18
|
+
*/
|
|
19
|
+
const PAIRS = [
|
|
20
|
+
{ foreground: 'text', background: 'background', minimum: 4.5 },
|
|
21
|
+
{ foreground: 'text', background: 'surface', minimum: 4.5 },
|
|
22
|
+
{ foreground: 'muted', background: 'background', minimum: 4.5 },
|
|
23
|
+
{ foreground: 'muted', background: 'surface', minimum: 4.5 },
|
|
24
|
+
{ foreground: 'onPrimary', background: 'primary', minimum: 4.5 },
|
|
25
|
+
{ foreground: 'primary', background: 'surface', minimum: 4.5 },
|
|
26
|
+
{ foreground: 'primary', background: 'background', minimum: 3 },
|
|
27
|
+
];
|
|
28
|
+
function channel(value) {
|
|
29
|
+
const srgb = value / 255;
|
|
30
|
+
return srgb <= 0.04045 ? srgb / 12.92 : ((srgb + 0.055) / 1.055) ** 2.4;
|
|
31
|
+
}
|
|
32
|
+
function luminance(hex) {
|
|
33
|
+
const digits = hex.slice(1);
|
|
34
|
+
// An 8-digit color's alpha is ignored: the check reads it as opaque.
|
|
35
|
+
const full = digits.length === 3 ? [...digits].map((digit) => digit + digit).join('') : digits.slice(0, 6);
|
|
36
|
+
const [r, g, b] = [0, 2, 4].map((index) => channel(parseInt(full.slice(index, index + 2), 16)));
|
|
37
|
+
return 0.2126 * r + 0.7152 * g + 0.0722 * b;
|
|
38
|
+
}
|
|
39
|
+
export function contrastRatio(a, b) {
|
|
40
|
+
const [light, dark] = [luminance(a), luminance(b)].sort((x, y) => y - x);
|
|
41
|
+
return (light + 0.05) / (dark + 0.05);
|
|
42
|
+
}
|
|
43
|
+
/** The color pairs a branded palette leaves below WCAG 2.2 AA, as readable lines. */
|
|
44
|
+
export function brandingContrastProblems(hostedUi) {
|
|
45
|
+
const colors = hostedUi?.colors;
|
|
46
|
+
if (!colors || Object.keys(colors).length === 0) {
|
|
47
|
+
return [];
|
|
48
|
+
}
|
|
49
|
+
const palette = { ...DEFAULT_COLORS, ...colors };
|
|
50
|
+
return PAIRS.flatMap(({ foreground, background, minimum }) => {
|
|
51
|
+
const ratio = contrastRatio(palette[foreground], palette[background]);
|
|
52
|
+
return ratio < minimum
|
|
53
|
+
? [
|
|
54
|
+
`${foreground} ${palette[foreground]} on ${background} ${palette[background]} is ${ratio.toFixed(2)}:1, needs ${minimum}:1`,
|
|
55
|
+
]
|
|
56
|
+
: [];
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=brandingContrast.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"brandingContrast.js","sourceRoot":"","sources":["../src/brandingContrast.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { errors, Provider } from 'oidc-provider';
|
|
2
|
+
import type { OidcApiClient } from './apiClient.js';
|
|
3
|
+
/** RFC 6749 section 5.2, with the 500 the library answers `server_error` with. */
|
|
4
|
+
export declare function claimsChangedError(): errors.OIDCProviderError;
|
|
5
|
+
/**
|
|
6
|
+
* A role or membership can change between the account read that built a token and the API's
|
|
7
|
+
* sign, and the API then refuses with `claims_mismatch`. The token is built again from a fresh
|
|
8
|
+
* read and signed once more. A second mismatch fails the request as `server_error`; every other
|
|
9
|
+
* refusal is left as it was.
|
|
10
|
+
*
|
|
11
|
+
* ID tokens (and signed userinfo) copy the account's claims when they are created, so those
|
|
12
|
+
* are swapped in place. An access token reads them again on `save` through `extraTokenClaims`,
|
|
13
|
+
* and the record a failed `save` stored under its jti is overwritten by the retry.
|
|
14
|
+
*/
|
|
15
|
+
export declare function retryOnClaimsMismatch(provider: Provider, client: OidcApiClient): void;
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright © 2026 Fells Code, LLC
|
|
3
|
+
* Licensed under the Apache License, Version 2.0
|
|
4
|
+
* See LICENSE file in the project root for full license information
|
|
5
|
+
*/
|
|
6
|
+
import { errors, Provider } from 'oidc-provider';
|
|
7
|
+
import { accountClaimsOf, providerAccountOf, withAccount } from './accountClaims.js';
|
|
8
|
+
import { OidcSignRefusedError } from './errors.js';
|
|
9
|
+
import { currentRequestContext } from './requestContext.js';
|
|
10
|
+
function isClaimsMismatch(error) {
|
|
11
|
+
return error instanceof OidcSignRefusedError && error.code === 'claims_mismatch';
|
|
12
|
+
}
|
|
13
|
+
/** RFC 6749 section 5.2, with the 500 the library answers `server_error` with. */
|
|
14
|
+
export function claimsChangedError() {
|
|
15
|
+
const error = new errors.OIDCProviderError(500, 'server_error');
|
|
16
|
+
error.expose = true;
|
|
17
|
+
error.error_description = 'the account changed while the token was being issued, try again';
|
|
18
|
+
return error;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Reads the account again for the session and client the request serves, and puts the new
|
|
22
|
+
* claims on the account the library loaded. Returns the claims it replaced, or undefined when
|
|
23
|
+
* the API no longer describes the account.
|
|
24
|
+
*/
|
|
25
|
+
async function rereadAccount(client, ctx) {
|
|
26
|
+
const account = ctx?.oidc?.account;
|
|
27
|
+
const previous = providerAccountOf(account);
|
|
28
|
+
const clientId = ctx?.oidc?.client?.clientId;
|
|
29
|
+
const sessionId = currentRequestContext()?.sessionId;
|
|
30
|
+
if (!account || !previous || !clientId || !sessionId) {
|
|
31
|
+
return undefined;
|
|
32
|
+
}
|
|
33
|
+
const fresh = await client.account(account.accountId, { clientId, sessionId });
|
|
34
|
+
if (!fresh || fresh.sub !== previous.sub) {
|
|
35
|
+
return undefined;
|
|
36
|
+
}
|
|
37
|
+
withAccount(account, fresh);
|
|
38
|
+
return { previous, fresh };
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* A role or membership can change between the account read that built a token and the API's
|
|
42
|
+
* sign, and the API then refuses with `claims_mismatch`. The token is built again from a fresh
|
|
43
|
+
* read and signed once more. A second mismatch fails the request as `server_error`; every other
|
|
44
|
+
* refusal is left as it was.
|
|
45
|
+
*
|
|
46
|
+
* ID tokens (and signed userinfo) copy the account's claims when they are created, so those
|
|
47
|
+
* are swapped in place. An access token reads them again on `save` through `extraTokenClaims`,
|
|
48
|
+
* and the record a failed `save` stored under its jti is overwritten by the retry.
|
|
49
|
+
*/
|
|
50
|
+
export function retryOnClaimsMismatch(provider, client) {
|
|
51
|
+
async function retrying(ctx, attempt, rebuild) {
|
|
52
|
+
try {
|
|
53
|
+
return await attempt();
|
|
54
|
+
}
|
|
55
|
+
catch (error) {
|
|
56
|
+
if (!isClaimsMismatch(error)) {
|
|
57
|
+
throw error;
|
|
58
|
+
}
|
|
59
|
+
const reread = await rereadAccount(client, ctx);
|
|
60
|
+
if (!reread) {
|
|
61
|
+
throw claimsChangedError();
|
|
62
|
+
}
|
|
63
|
+
rebuild(reread);
|
|
64
|
+
try {
|
|
65
|
+
return await attempt();
|
|
66
|
+
}
|
|
67
|
+
catch (retryError) {
|
|
68
|
+
throw isClaimsMismatch(retryError) ? claimsChangedError() : retryError;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
const idToken = provider.IdToken.prototype;
|
|
73
|
+
const issue = idToken.issue;
|
|
74
|
+
idToken.issue = function (...args) {
|
|
75
|
+
return retrying(this.ctx ?? Provider.ctx, () => issue.apply(this, args), ({ previous, fresh }) => {
|
|
76
|
+
for (const key of Reflect.ownKeys(accountClaimsOf(previous))) {
|
|
77
|
+
if (key !== 'sub') {
|
|
78
|
+
delete this.available[key];
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
Object.assign(this.available, accountClaimsOf(fresh));
|
|
82
|
+
});
|
|
83
|
+
};
|
|
84
|
+
const accessToken = provider.AccessToken.prototype;
|
|
85
|
+
const save = accessToken.save;
|
|
86
|
+
accessToken.save = function (...args) {
|
|
87
|
+
return retrying(Provider.ctx, () => save.apply(this, args), () => undefined);
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
//# sourceMappingURL=claimsMismatch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"claimsMismatch.js","sourceRoot":"","sources":["../src/claimsMismatch.ts"],"names":[],"mappings":"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"}
|
package/dist/createOidcEdge.d.ts
CHANGED
|
@@ -28,6 +28,11 @@ export interface OidcEdgeOptions {
|
|
|
28
28
|
* `trust proxy` set to match.
|
|
29
29
|
*/
|
|
30
30
|
trustProxy?: boolean;
|
|
31
|
+
/**
|
|
32
|
+
* How often to re-read the API's provider keys, so a rotation is picked up. A key the API
|
|
33
|
+
* refuses as unknown reloads them at once as well. `0` turns the timer off.
|
|
34
|
+
*/
|
|
35
|
+
signingKeyRefreshMs?: number;
|
|
31
36
|
/** `false` keeps the adapter on its bundled route manifest. */
|
|
32
37
|
fetchAdapterManifest?: boolean;
|
|
33
38
|
/** The built hosted pages. Defaults to the copy this package ships in `dist/ui`. */
|
package/dist/createOidcEdge.js
CHANGED
|
@@ -8,7 +8,9 @@ import { fileURLToPath } from 'node:url';
|
|
|
8
8
|
import { createSeamlessAuthServer } from '@seamless-auth/express';
|
|
9
9
|
import express from 'express';
|
|
10
10
|
import Provider from 'oidc-provider';
|
|
11
|
+
import { releaseAuthorizationClaims } from './accountClaims.js';
|
|
11
12
|
import { OidcApiClient } from './apiClient.js';
|
|
13
|
+
import { retryOnClaimsMismatch } from './claimsMismatch.js';
|
|
12
14
|
import { verifyClientSecrets } from './clientSecrets.js';
|
|
13
15
|
import { EdgeConfigCache } from './configCache.js';
|
|
14
16
|
import { deviceFlowMiddleware } from './deviceFlow.js';
|
|
@@ -21,8 +23,9 @@ import { buildProviderConfiguration, PROVIDER_COOKIE_NAMES } from './providerCon
|
|
|
21
23
|
import { createRateLimiter } from './rateLimit.js';
|
|
22
24
|
import { revokeSessionOnRefreshReuse } from './refreshReuse.js';
|
|
23
25
|
import { runWithRequestContext } from './requestContext.js';
|
|
26
|
+
import { formPostRefusedRequestObjects } from './requestObjectErrors.js';
|
|
24
27
|
import { hostOnlyResumeCookie } from './resumeCookie.js';
|
|
25
|
-
import {
|
|
28
|
+
import { SigningKeyRing } from './signingKey.js';
|
|
26
29
|
import { checkApiCompatibility } from './startup.js';
|
|
27
30
|
import { auditRevocations } from './tokenAudit.js';
|
|
28
31
|
export const ADAPTER_COOKIE_NAMES = {
|
|
@@ -40,7 +43,10 @@ export async function createOidcEdge(options) {
|
|
|
40
43
|
});
|
|
41
44
|
const config = await checkApiCompatibility(client);
|
|
42
45
|
const configCache = new EdgeConfigCache(client, config);
|
|
43
|
-
const signingKeys =
|
|
46
|
+
const signingKeys = new SigningKeyRing(await client.jwks(), client);
|
|
47
|
+
if (options.signingKeyRefreshMs !== 0) {
|
|
48
|
+
signingKeys.startRefresh(options.signingKeyRefreshMs);
|
|
49
|
+
}
|
|
44
50
|
const hostedPages = {
|
|
45
51
|
uiDir: options.uiDir ?? fileURLToPath(new URL('./ui/', import.meta.url)),
|
|
46
52
|
configCache,
|
|
@@ -50,23 +56,30 @@ export async function createOidcEdge(options) {
|
|
|
50
56
|
client,
|
|
51
57
|
config,
|
|
52
58
|
configCache,
|
|
53
|
-
signingKeys,
|
|
59
|
+
signingKeys: signingKeys.providerKeys,
|
|
54
60
|
cookieKeys: options.cookieKeys,
|
|
55
61
|
renderPage,
|
|
56
62
|
adapterCookieSecret: options.adapterCookieSecret,
|
|
57
63
|
accessCookieName: ADAPTER_COOKIE_NAMES.access,
|
|
58
64
|
}));
|
|
59
65
|
leaveBackchannelLogoutToApi(provider);
|
|
66
|
+
releaseAuthorizationClaims(provider);
|
|
67
|
+
retryOnClaimsMismatch(provider, client);
|
|
68
|
+
formPostRefusedRequestObjects(provider);
|
|
60
69
|
provider.proxy = options.trustProxy === true;
|
|
61
70
|
provider.use(hostOnlyResumeCookie(PROVIDER_COOKIE_NAMES.resume, '/authorize'));
|
|
62
71
|
provider.use(verifyClientSecrets(client));
|
|
63
72
|
provider.use(revokeSessionOnRefreshReuse(client));
|
|
64
73
|
provider.use(auditRevocations(client));
|
|
65
74
|
provider.use(endFirstPartySessionOnLogout(client, Object.values(ADAPTER_COOKIE_NAMES)));
|
|
66
|
-
provider.use(acceptJwtAccessTokens(createJwtAccessTokenLookup(signingKeys, config.issuer), [
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
75
|
+
provider.use(acceptJwtAccessTokens(createJwtAccessTokenLookup(() => signingKeys.keys, config.issuer), ['/token/introspection', '/token/revocation']));
|
|
76
|
+
// The library publishes the keys it was started with; this serves the API's current set.
|
|
77
|
+
provider.use(async (ctx, next) => {
|
|
78
|
+
await next();
|
|
79
|
+
if (ctx.oidc?.route === 'jwks' && ctx.status === 200) {
|
|
80
|
+
ctx.body = { keys: signingKeys.publicJwks };
|
|
81
|
+
}
|
|
82
|
+
});
|
|
70
83
|
// The library answers a bare server_error and logs nothing, so this is the only trace.
|
|
71
84
|
provider.on('server_error', (_ctx, error) => {
|
|
72
85
|
console.error(`[oidc-provider] ${error.name}: ${error.message}`);
|
|
@@ -129,6 +142,29 @@ export async function createOidcEdge(options) {
|
|
|
129
142
|
];
|
|
130
143
|
router.post(`${issuerBase}/device`, ...userCodeLimiters);
|
|
131
144
|
router.use(issuerUrl.pathname, provider.callback());
|
|
145
|
+
router.use(jsonErrorHandler);
|
|
132
146
|
return { router, provider, issuer: config.issuer, config, client };
|
|
133
147
|
}
|
|
148
|
+
/**
|
|
149
|
+
* Express's own handler answers HTML, with a stack trace whenever `NODE_ENV` is not
|
|
150
|
+
* production. A client error from a body parser keeps its status; anything else is logged
|
|
151
|
+
* by name and message only, and answered as a bare `server_error`.
|
|
152
|
+
*/
|
|
153
|
+
function jsonErrorHandler(error, _req, res, next) {
|
|
154
|
+
if (res.headersSent) {
|
|
155
|
+
next(error);
|
|
156
|
+
return;
|
|
157
|
+
}
|
|
158
|
+
const status = typeof error === 'object' && error !== null && 'status' in error
|
|
159
|
+
? Number(error.status)
|
|
160
|
+
: undefined;
|
|
161
|
+
if (status !== undefined && status >= 400 && status < 500) {
|
|
162
|
+
res.status(status).json({ error: 'invalid_request' });
|
|
163
|
+
return;
|
|
164
|
+
}
|
|
165
|
+
const name = error instanceof Error ? error.name : 'Error';
|
|
166
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
167
|
+
console.error(`[oidc-provider] ${name}: ${message}`);
|
|
168
|
+
res.status(500).json({ error: 'server_error' });
|
|
169
|
+
}
|
|
134
170
|
//# sourceMappingURL=createOidcEdge.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createOidcEdge.js","sourceRoot":"","sources":["../src/createOidcEdge.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAElE,OAAO,
|
|
1
|
+
{"version":3,"file":"createOidcEdge.js","sourceRoot":"","sources":["../src/createOidcEdge.ts"],"names":[],"mappings":"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"}
|
package/dist/deviceFlow.d.ts
CHANGED
|
@@ -30,12 +30,8 @@ export declare class DevicePollThrottle {
|
|
|
30
30
|
constructor(now?: () => number);
|
|
31
31
|
check(deviceCode: string): void;
|
|
32
32
|
}
|
|
33
|
-
/**
|
|
34
|
-
|
|
35
|
-
* provider is mounted at the issuer's path, so paths here are relative to it, and the
|
|
36
|
-
* library's router ignores case.
|
|
37
|
-
*/
|
|
38
|
-
export declare function deviceFlowMiddleware(tokenPath?: string): (ctx: KoaContextWithOIDC, next: () => Promise<unknown>) => Promise<void>;
|
|
33
|
+
/** Adds `interval` to the device authorization response. */
|
|
34
|
+
export declare function deviceFlowMiddleware(): (ctx: KoaContextWithOIDC, next: () => Promise<unknown>) => Promise<void>;
|
|
39
35
|
/** The device verification pages (RFC 8628 section 3.3), rendered by the hosted UI. */
|
|
40
36
|
export declare function createDevicePages(render: HostedPageRenderer, client: OidcApiClient): {
|
|
41
37
|
charset: "base-20";
|
package/dist/deviceFlow.js
CHANGED
|
@@ -78,17 +78,9 @@ export class DevicePollThrottle {
|
|
|
78
78
|
});
|
|
79
79
|
}
|
|
80
80
|
}
|
|
81
|
-
/**
|
|
82
|
-
|
|
83
|
-
* provider is mounted at the issuer's path, so paths here are relative to it, and the
|
|
84
|
-
* library's router ignores case.
|
|
85
|
-
*/
|
|
86
|
-
export function deviceFlowMiddleware(tokenPath = '/token') {
|
|
81
|
+
/** Adds `interval` to the device authorization response. */
|
|
82
|
+
export function deviceFlowMiddleware() {
|
|
87
83
|
return async (ctx, next) => {
|
|
88
|
-
const context = currentRequestContext();
|
|
89
|
-
if (context && ctx.method === 'POST' && ctx.path.toLowerCase() === tokenPath) {
|
|
90
|
-
context.tokenRequest = true;
|
|
91
|
-
}
|
|
92
84
|
await next();
|
|
93
85
|
if (ctx.oidc?.route === 'device_authorization' &&
|
|
94
86
|
ctx.status === 200 &&
|
package/dist/deviceFlow.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deviceFlow.js","sourceRoot":"","sources":["../src/deviceFlow.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"deviceFlow.js","sourceRoot":"","sources":["../src/deviceFlow.ts"],"names":[],"mappings":"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"}
|
package/dist/env.d.ts
CHANGED
|
@@ -7,10 +7,7 @@ export declare const EnvSchema: z.ZodObject<{
|
|
|
7
7
|
SEAMLESS_JWKS_KID: z.ZodOptional<z.ZodString>;
|
|
8
8
|
SEAMLESS_COOKIE_SECRET: z.ZodString;
|
|
9
9
|
OIDC_COOKIE_KEYS: z.ZodPipe<z.ZodPipe<z.ZodString, z.ZodTransform<string[], string>>, z.ZodArray<z.ZodString>>;
|
|
10
|
-
TRUST_PROXY: z.ZodPipe<z.ZodDefault<z.
|
|
11
|
-
true: "true";
|
|
12
|
-
false: "false";
|
|
13
|
-
}>>, z.ZodTransform<boolean, "true" | "false">>;
|
|
10
|
+
TRUST_PROXY: z.ZodPipe<z.ZodDefault<z.ZodString>, z.ZodTransform<number | false | string[], string>>;
|
|
14
11
|
}, z.core.$strip>;
|
|
15
12
|
export type Env = z.infer<typeof EnvSchema>;
|
|
16
13
|
export declare function parseEnv(source?: NodeJS.ProcessEnv): Env;
|
package/dist/env.js
CHANGED
|
@@ -3,12 +3,54 @@
|
|
|
3
3
|
* Licensed under the Apache License, Version 2.0
|
|
4
4
|
* See LICENSE file in the project root for full license information
|
|
5
5
|
*/
|
|
6
|
+
import { isIP } from 'node:net';
|
|
6
7
|
import { z } from 'zod';
|
|
7
8
|
const SECRET_MIN_LENGTH = 32;
|
|
8
|
-
|
|
9
|
-
|
|
9
|
+
// Express's own names for the private ranges, which `trust proxy` accepts in a list.
|
|
10
|
+
const NAMED_RANGES = new Set(['loopback', 'linklocal', 'uniquelocal']);
|
|
11
|
+
function isProxyAddress(entry) {
|
|
12
|
+
if (NAMED_RANGES.has(entry)) {
|
|
13
|
+
return true;
|
|
14
|
+
}
|
|
15
|
+
const [address = '', prefix, extra] = entry.split('/');
|
|
16
|
+
const version = isIP(address);
|
|
17
|
+
if (version === 0 || extra !== undefined) {
|
|
18
|
+
return false;
|
|
19
|
+
}
|
|
20
|
+
if (prefix === undefined) {
|
|
21
|
+
return true;
|
|
22
|
+
}
|
|
23
|
+
const bits = Number(prefix);
|
|
24
|
+
return /^\d+$/.test(prefix) && bits <= (version === 4 ? 32 : 128);
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Express's `trust proxy`: `false`, the number of proxies in front of this service, or the
|
|
28
|
+
* addresses and subnets of the ones it trusts. `true` keeps its old meaning of one proxy.
|
|
29
|
+
*/
|
|
30
|
+
const trustProxy = z
|
|
31
|
+
.string()
|
|
10
32
|
.default('false')
|
|
11
|
-
.transform((value) =>
|
|
33
|
+
.transform((value, ctx) => {
|
|
34
|
+
const trimmed = value.trim();
|
|
35
|
+
if (trimmed === '' || trimmed === 'false' || trimmed === '0') {
|
|
36
|
+
return false;
|
|
37
|
+
}
|
|
38
|
+
if (trimmed === 'true') {
|
|
39
|
+
return 1;
|
|
40
|
+
}
|
|
41
|
+
if (/^\d+$/.test(trimmed)) {
|
|
42
|
+
return Number(trimmed);
|
|
43
|
+
}
|
|
44
|
+
const entries = trimmed
|
|
45
|
+
.split(',')
|
|
46
|
+
.map((entry) => entry.trim())
|
|
47
|
+
.filter(Boolean);
|
|
48
|
+
if (entries.length === 0 || !entries.every(isProxyAddress)) {
|
|
49
|
+
ctx.addIssue({ code: 'custom', message: 'expected a hop count or addresses and subnets' });
|
|
50
|
+
return z.NEVER;
|
|
51
|
+
}
|
|
52
|
+
return entries;
|
|
53
|
+
});
|
|
12
54
|
export const EnvSchema = z.object({
|
|
13
55
|
PORT: z.coerce.number().int().min(1).max(65535).default(5314),
|
|
14
56
|
SEAMLESS_API_URL: z.url(),
|
|
@@ -23,7 +65,7 @@ export const EnvSchema = z.object({
|
|
|
23
65
|
.map((key) => key.trim())
|
|
24
66
|
.filter(Boolean))
|
|
25
67
|
.pipe(z.array(z.string().min(SECRET_MIN_LENGTH)).min(1)),
|
|
26
|
-
TRUST_PROXY:
|
|
68
|
+
TRUST_PROXY: trustProxy,
|
|
27
69
|
});
|
|
28
70
|
export function parseEnv(source = process.env) {
|
|
29
71
|
const parsed = EnvSchema.safeParse(source);
|
package/dist/env.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"env.js","sourceRoot":"","sources":["../src/env.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,iBAAiB,GAAG,EAAE,CAAC;AAE7B,MAAM,aAAa,GAAG,CAAC;
|
|
1
|
+
{"version":3,"file":"env.js","sourceRoot":"","sources":["../src/env.ts"],"names":[],"mappings":"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"}
|