@baukit/auth-node 0.4.0 → 0.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -51,6 +51,53 @@ All issuer, device, token, and verification URLs require HTTPS. Local developmen
51
51
 
52
52
  Discovery and token bodies are limited to 64 KiB by default. Errors contain a stable code, an allowlisted message, an optional HTTP status, and no provider body. The client does not log.
53
53
 
54
+ ## API origins
55
+
56
+ `parseApiOrigin(value, { allowLoopbackHttp, label })` checks a configured API base URL, such as an MCP server's `PRODUCT_API_URL`, with the same scheme rule as the endpoint policy. It trims whitespace, accepts one trailing slash, and returns `url.origin`.
57
+
58
+ ```ts
59
+ import { parseApiOrigin } from '@baukit/auth-node';
60
+
61
+ const apiUrl = parseApiOrigin(process.env['PRODUCT_API_URL'] ?? 'http://localhost:8080', {
62
+ allowLoopbackHttp: process.env['NODE_ENV'] !== 'production',
63
+ label: 'PRODUCT_API_URL',
64
+ });
65
+ ```
66
+
67
+ It throws `ApiOriginError`, a `TypeError`, with a `reason` of `invalid_url`, `insecure_scheme`, or `not_an_origin`. Credentials, a path, a query, or a fragment count as `not_an_origin`. `allowLoopbackHttp` defaults to false. The message names the label and the broken rule, never the value, so it is safe to log.
68
+
69
+ ## Keycloak test helpers
70
+
71
+ `@baukit/auth-node/keycloak-testing` sets up users for end-to-end tests against a disposable development Keycloak. It runs on Node 24, uses the global `fetch`, and needs no Playwright dependency.
72
+
73
+ ```ts
74
+ import {
75
+ allowKeycloakWebOrigin,
76
+ createKeycloakTestUser,
77
+ keycloakStack,
78
+ signInWithKeycloak,
79
+ } from '@baukit/auth-node/keycloak-testing';
80
+
81
+ const stack = keycloakStack({
82
+ url: 'http://localhost:8081',
83
+ realm: 'notes',
84
+ webClientId: 'notes-web',
85
+ });
86
+
87
+ await allowKeycloakWebOrigin(stack, 'http://localhost:5183');
88
+ const user = await createKeycloakTestUser(stack);
89
+ await page.getByRole('button', { name: 'Sign in' }).click();
90
+ await signInWithKeycloak(page, user, stack);
91
+ ```
92
+
93
+ `keycloakStack(defaults, environment = process.env)` returns the product's defaults unless `E2E_KEYCLOAK_URL`, `E2E_KEYCLOAK_REALM`, `E2E_KEYCLOAK_ADMIN_USERNAME`, `E2E_KEYCLOAK_ADMIN_PASSWORD`, or `E2E_KEYCLOAK_WEB_CLIENT_ID` is set. The admin credentials default to `admin` and `admin`, and trailing slashes are removed from the URL.
94
+
95
+ `createKeycloakTestUser(stack, user?, options?)` signs in to the master realm's `admin-cli` and creates a verified, enabled user with a permanent password. Without `user`, the username is `e2e-<uuid>` and the password is random, so parallel tests never share an identity. Pass `username`, `email`, or `password` when the realm signs in by email. It returns `{ username, password, email, subject }`; `subject` is the Keycloak user ID, which becomes the `sub` claim.
96
+
97
+ `revokeKeycloakUserSessions(stack, subject)` ends every session of the user, so the app's next refresh fails. `allowKeycloakWebOrigin(stack, origin)` adds `<origin>/*` to the web client's redirect URIs and `origin` to its web origins, and does nothing when both are present. `signInWithKeycloak(page, user, stack, { timeoutMs })` waits until the page is on the Keycloak origin, fills `#username` and `#password`, and clicks `#kc-login`; those IDs do not change with the login locale. `page` is any object with Playwright's `waitForURL` and `locator`, such as a `Page` or a sign-in popup.
98
+
99
+ Every admin call takes `{ fetch, timeoutMs }`; the timeout defaults to `DEFAULT_KEYCLOAK_REQUEST_TIMEOUT_MS` (30 seconds). A failure throws an `Error` that names the step and HTTP status and never includes a response body or the admin password. Created users and added origins stay in the realm, so point the helpers only at a development realm.
100
+
54
101
  ## Cache contract
55
102
 
56
103
  The JSON cache holds named profiles under one namespace. `defaultTokenCachePath(namespace)` resolves to `$XDG_CONFIG_HOME/<namespace>/tokens.json`, or `~/.config/<namespace>/tokens.json` when `XDG_CONFIG_HOME` is unset.
@@ -0,0 +1,21 @@
1
+ export type ApiOriginErrorReason = 'invalid_url' | 'insecure_scheme' | 'not_an_origin';
2
+ /** Names the setting and the rule it broke, never the configured value. */
3
+ export declare class ApiOriginError extends TypeError {
4
+ readonly reason: ApiOriginErrorReason;
5
+ constructor(label: string, reason: ApiOriginErrorReason);
6
+ }
7
+ export interface ApiOriginOptions {
8
+ /** Permits plain HTTP only for localhost and literal loopback addresses. Defaults to false. */
9
+ readonly allowLoopbackHttp?: boolean;
10
+ /** Setting name used in error messages. Defaults to `API URL`. */
11
+ readonly label?: string;
12
+ }
13
+ /**
14
+ * Parses a configured API base URL and returns its origin, such as
15
+ * `https://api.example.com`. Surrounding whitespace and one trailing slash are
16
+ * accepted; anything beyond the origin is rejected.
17
+ */
18
+ export declare function parseApiOrigin(value: string, options?: ApiOriginOptions): string;
19
+ /** True for https, and for http on a loopback host when `allowLoopbackHttp` is set. */
20
+ export declare function isAllowedWebScheme(url: URL, allowLoopbackHttp: boolean): boolean;
21
+ //# sourceMappingURL=api-origin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api-origin.d.ts","sourceRoot":"","sources":["../src/api-origin.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,oBAAoB,GAAG,aAAa,GAAG,iBAAiB,GAAG,eAAe,CAAC;AAQvF,2EAA2E;AAC3E,qBAAa,cAAe,SAAQ,SAAS;IAC3C,SAAgB,MAAM,EAAE,oBAAoB,CAAC;gBAE1B,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,oBAAoB;CAK/D;AAED,MAAM,WAAW,gBAAgB;IAC/B,+FAA+F;IAC/F,QAAQ,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IACrC,kEAAkE;IAClE,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,GAAE,gBAAqB,GAAG,MAAM,CAepF;AAED,uFAAuF;AACvF,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,GAAG,EAAE,iBAAiB,EAAE,OAAO,GAAG,OAAO,CAGhF"}
@@ -0,0 +1,47 @@
1
+ const REASON_MESSAGES = {
2
+ invalid_url: 'must be an absolute URL',
3
+ insecure_scheme: 'must use https, or http on a loopback host when that is allowed',
4
+ not_an_origin: 'must be an origin without credentials, path, query, or fragment',
5
+ };
6
+ /** Names the setting and the rule it broke, never the configured value. */
7
+ export class ApiOriginError extends TypeError {
8
+ reason;
9
+ constructor(label, reason) {
10
+ super(`${label} ${REASON_MESSAGES[reason]}.`);
11
+ this.name = 'ApiOriginError';
12
+ this.reason = reason;
13
+ }
14
+ }
15
+ /**
16
+ * Parses a configured API base URL and returns its origin, such as
17
+ * `https://api.example.com`. Surrounding whitespace and one trailing slash are
18
+ * accepted; anything beyond the origin is rejected.
19
+ */
20
+ export function parseApiOrigin(value, options = {}) {
21
+ const label = options.label ?? 'API URL';
22
+ let url;
23
+ try {
24
+ url = new URL(value.trim());
25
+ }
26
+ catch {
27
+ throw new ApiOriginError(label, 'invalid_url');
28
+ }
29
+ if (!isAllowedWebScheme(url, options.allowLoopbackHttp ?? false)) {
30
+ throw new ApiOriginError(label, 'insecure_scheme');
31
+ }
32
+ if (url.username || url.password || url.pathname !== '/' || url.search || url.hash) {
33
+ throw new ApiOriginError(label, 'not_an_origin');
34
+ }
35
+ return url.origin;
36
+ }
37
+ /** True for https, and for http on a loopback host when `allowLoopbackHttp` is set. */
38
+ export function isAllowedWebScheme(url, allowLoopbackHttp) {
39
+ if (url.protocol === 'https:')
40
+ return true;
41
+ return url.protocol === 'http:' && allowLoopbackHttp && isLoopbackHost(url.hostname);
42
+ }
43
+ function isLoopbackHost(hostname) {
44
+ const host = hostname.replace(/^\[|\]$/gu, '').toLowerCase();
45
+ return host === 'localhost' || host === '::1' || /^127(?:\.\d{1,3}){3}$/u.test(host);
46
+ }
47
+ //# sourceMappingURL=api-origin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api-origin.js","sourceRoot":"","sources":["../src/api-origin.ts"],"names":[],"mappings":"AAEA,MAAM,eAAe,GAAG;IACtB,WAAW,EAAE,yBAAyB;IACtC,eAAe,EAAE,iEAAiE;IAClF,aAAa,EAAE,iEAAiE;CACzB,CAAC;AAE1D,2EAA2E;AAC3E,MAAM,OAAO,cAAe,SAAQ,SAAS;IAC3B,MAAM,CAAuB;IAE7C,YAAmB,KAAa,EAAE,MAA4B;QAC5D,KAAK,CAAC,GAAG,KAAK,IAAI,eAAe,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC9C,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAC;QAC7B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;CACF;AASD;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,KAAa,EAAE,UAA4B,EAAE;IAC1E,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,SAAS,CAAC;IACzC,IAAI,GAAQ,CAAC;IACb,IAAI,CAAC;QACH,GAAG,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;IAC9B,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,cAAc,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;IACjD,CAAC;IACD,IAAI,CAAC,kBAAkB,CAAC,GAAG,EAAE,OAAO,CAAC,iBAAiB,IAAI,KAAK,CAAC,EAAE,CAAC;QACjE,MAAM,IAAI,cAAc,CAAC,KAAK,EAAE,iBAAiB,CAAC,CAAC;IACrD,CAAC;IACD,IAAI,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,QAAQ,KAAK,GAAG,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;QACnF,MAAM,IAAI,cAAc,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;IACnD,CAAC;IACD,OAAO,GAAG,CAAC,MAAM,CAAC;AACpB,CAAC;AAED,uFAAuF;AACvF,MAAM,UAAU,kBAAkB,CAAC,GAAQ,EAAE,iBAA0B;IACrE,IAAI,GAAG,CAAC,QAAQ,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC3C,OAAO,GAAG,CAAC,QAAQ,KAAK,OAAO,IAAI,iBAAiB,IAAI,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AACvF,CAAC;AAED,SAAS,cAAc,CAAC,QAAgB;IACtC,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IAC7D,OAAO,IAAI,KAAK,WAAW,IAAI,IAAI,KAAK,KAAK,IAAI,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACvF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"device-flow.d.ts","sourceRoot":"","sources":["../src/device-flow.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"device-flow.d.ts","sourceRoot":"","sources":["../src/device-flow.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  /// <reference types="node" />
2
2
  import { createHash, randomBytes } from 'node:crypto';
3
+ import { isAllowedWebScheme } from './api-origin.js';
3
4
  import { NodeTokenCache } from './cache.js';
4
5
  import { AuthNodeError } from './errors.js';
5
6
  const DEFAULT_SCOPES = ['openid', 'profile', 'offline_access'];
@@ -435,12 +436,9 @@ function normalizeWebUrl(value, allowLoopbackHttp, label) {
435
436
  return url.toString().replace(/\/+$/u, '');
436
437
  }
437
438
  function validateWebUrl(value, allowLoopbackHttp) {
438
- const url = parseUrl(value, 'provider');
439
- if (url.protocol === 'https:')
440
- return;
441
- if (url.protocol === 'http:' && allowLoopbackHttp && isLoopback(url.hostname))
442
- return;
443
- throw new AuthNodeError('endpoint_policy_violation');
439
+ if (!isAllowedWebScheme(parseUrl(value, 'provider'), allowLoopbackHttp)) {
440
+ throw new AuthNodeError('endpoint_policy_violation');
441
+ }
444
442
  }
445
443
  function parseUrl(value, source) {
446
444
  try {
@@ -452,10 +450,6 @@ function parseUrl(value, source) {
452
450
  throw new AuthNodeError('endpoint_policy_violation');
453
451
  }
454
452
  }
455
- function isLoopback(hostname) {
456
- const host = hostname.replace(/^\[|\]$/gu, '').toLowerCase();
457
- return host === 'localhost' || host === '::1' || /^127(?:\.\d{1,3}){3}$/u.test(host);
458
- }
459
453
  function normalizeScopes(scopes) {
460
454
  const values = scopes ?? DEFAULT_SCOPES;
461
455
  const normalized = values.map((scope) => requiredText(scope, 'OIDC scope'));
@@ -1 +1 @@
1
- {"version":3,"file":"device-flow.js","sourceRoot":"","sources":["../src/device-flow.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"device-flow.js","sourceRoot":"","sources":["../src/device-flow.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ export { ApiOriginError, parseApiOrigin, type ApiOriginErrorReason, type ApiOriginOptions, } from './api-origin.js';
1
2
  export { defaultTokenCachePath, NodeTokenCache, type CachedTokenProfile, type NodeTokenCacheOptions, type TokenCacheTransaction, } from './cache.js';
2
3
  export { decodeDisplayOnlyClaims, DeviceFlowClient, discoverDeviceProvider, type AccessTokenOptions, type DeviceFlowClientConfig, type DeviceFlowEnvironment, type DeviceFlowPresentation, type DeviceFlowStatus, type DeviceProviderRequestOptions, type DeviceVerification, type DisplayOnlyClaims, type EndpointPolicy, type LoginOptions, type OidcDeviceMetadata, } from './device-flow.js';
3
4
  export { AuthNodeError, safeAuthNodeErrorMessage, type AuthNodeErrorCode } from './errors.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EACrB,cAAc,EACd,KAAK,kBAAkB,EACvB,KAAK,qBAAqB,EAC1B,KAAK,qBAAqB,GAC3B,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,uBAAuB,EACvB,gBAAgB,EAChB,sBAAsB,EACtB,KAAK,kBAAkB,EACvB,KAAK,sBAAsB,EAC3B,KAAK,qBAAqB,EAC1B,KAAK,sBAAsB,EAC3B,KAAK,gBAAgB,EACrB,KAAK,4BAA4B,EACjC,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,kBAAkB,GACxB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,aAAa,EAAE,wBAAwB,EAAE,KAAK,iBAAiB,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,cAAc,EACd,KAAK,oBAAoB,EACzB,KAAK,gBAAgB,GACtB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,qBAAqB,EACrB,cAAc,EACd,KAAK,kBAAkB,EACvB,KAAK,qBAAqB,EAC1B,KAAK,qBAAqB,GAC3B,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,uBAAuB,EACvB,gBAAgB,EAChB,sBAAsB,EACtB,KAAK,kBAAkB,EACvB,KAAK,sBAAsB,EAC3B,KAAK,qBAAqB,EAC1B,KAAK,sBAAsB,EAC3B,KAAK,gBAAgB,EACrB,KAAK,4BAA4B,EACjC,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,kBAAkB,GACxB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,aAAa,EAAE,wBAAwB,EAAE,KAAK,iBAAiB,EAAE,MAAM,aAAa,CAAC"}
package/dist/index.js CHANGED
@@ -1,3 +1,4 @@
1
+ export { ApiOriginError, parseApiOrigin, } from './api-origin.js';
1
2
  export { defaultTokenCachePath, NodeTokenCache, } from './cache.js';
2
3
  export { decodeDisplayOnlyClaims, DeviceFlowClient, discoverDeviceProvider, } from './device-flow.js';
3
4
  export { AuthNodeError, safeAuthNodeErrorMessage } from './errors.js';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EACrB,cAAc,GAIf,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,uBAAuB,EACvB,gBAAgB,EAChB,sBAAsB,GAYvB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,aAAa,EAAE,wBAAwB,EAA0B,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,cAAc,GAGf,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,qBAAqB,EACrB,cAAc,GAIf,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,uBAAuB,EACvB,gBAAgB,EAChB,sBAAsB,GAYvB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,aAAa,EAAE,wBAAwB,EAA0B,MAAM,aAAa,CAAC"}
@@ -0,0 +1,65 @@
1
+ /** Where a disposable development Keycloak runs and how to administer it. */
2
+ export interface KeycloakStack {
3
+ readonly url: string;
4
+ readonly realm: string;
5
+ readonly adminUsername: string;
6
+ readonly adminPassword: string;
7
+ readonly webClientId: string;
8
+ }
9
+ /** The product's development defaults; `E2E_KEYCLOAK_*` variables override each one. */
10
+ export interface KeycloakStackDefaults {
11
+ readonly url: string;
12
+ readonly realm: string;
13
+ readonly webClientId: string;
14
+ /** Defaults to `admin`. */
15
+ readonly adminUsername?: string;
16
+ /** Defaults to `admin`. */
17
+ readonly adminPassword?: string;
18
+ }
19
+ export interface KeycloakTestUser {
20
+ readonly username: string;
21
+ readonly password: string;
22
+ readonly email: string;
23
+ /** Keycloak user ID, which becomes the `sub` claim of the user's tokens. */
24
+ readonly subject: string;
25
+ }
26
+ export interface KeycloakTestUserOptions {
27
+ /** Defaults to `e2e-<uuid>`, so parallel tests never share an identity. */
28
+ readonly username?: string;
29
+ /** Defaults to a random password. */
30
+ readonly password?: string;
31
+ /** Defaults to `<username>@example.test`. */
32
+ readonly email?: string;
33
+ }
34
+ export interface KeycloakRequestOptions {
35
+ /** Defaults to the global `fetch`. */
36
+ readonly fetch?: typeof fetch;
37
+ /** Per-request timeout. Defaults to {@link DEFAULT_KEYCLOAK_REQUEST_TIMEOUT_MS}. */
38
+ readonly timeoutMs?: number;
39
+ }
40
+ /** The part of a Playwright `Page` that {@link signInWithKeycloak} uses. */
41
+ export interface KeycloakLoginPage {
42
+ waitForURL(url: (url: URL) => boolean, options?: {
43
+ timeout?: number;
44
+ }): Promise<unknown>;
45
+ locator(selector: string): {
46
+ fill(value: string): Promise<unknown>;
47
+ click(): Promise<unknown>;
48
+ };
49
+ }
50
+ export interface KeycloakSignInOptions {
51
+ /** How long to wait for the login page. Defaults to the page's own timeout. */
52
+ readonly timeoutMs?: number;
53
+ }
54
+ export declare const DEFAULT_KEYCLOAK_REQUEST_TIMEOUT_MS = 30000;
55
+ /** Returns the stack from `E2E_KEYCLOAK_*` variables, falling back to the defaults. */
56
+ export declare function keycloakStack(defaults: KeycloakStackDefaults, environment?: NodeJS.ProcessEnv): KeycloakStack;
57
+ /** Creates a verified user with a password in the stack's realm. */
58
+ export declare function createKeycloakTestUser(stack: KeycloakStack, user?: KeycloakTestUserOptions, options?: KeycloakRequestOptions): Promise<KeycloakTestUser>;
59
+ /** Ends every Keycloak session of the user, so the next token refresh fails. */
60
+ export declare function revokeKeycloakUserSessions(stack: KeycloakStack, subject: string, options?: KeycloakRequestOptions): Promise<void>;
61
+ /** Adds the origin to the web client's redirect URIs and web origins when the client lacks it. */
62
+ export declare function allowKeycloakWebOrigin(stack: KeycloakStack, origin: string, options?: KeycloakRequestOptions): Promise<void>;
63
+ /** Waits for the Keycloak login page, fills it by its stable `keycloak.v2` IDs, and submits. */
64
+ export declare function signInWithKeycloak(loginPage: KeycloakLoginPage, user: Pick<KeycloakTestUser, 'username' | 'password'>, stack: KeycloakStack, options?: KeycloakSignInOptions): Promise<void>;
65
+ //# sourceMappingURL=keycloak-testing.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"keycloak-testing.d.ts","sourceRoot":"","sources":["../src/keycloak-testing.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,129 @@
1
+ import { randomUUID } from 'node:crypto';
2
+ export const DEFAULT_KEYCLOAK_REQUEST_TIMEOUT_MS = 30_000;
3
+ const HTTP_CREATED = 201;
4
+ const DEFAULT_ADMIN = 'admin';
5
+ /** Returns the stack from `E2E_KEYCLOAK_*` variables, falling back to the defaults. */
6
+ export function keycloakStack(defaults, environment = process.env) {
7
+ const url = environment['E2E_KEYCLOAK_URL'] ?? defaults.url;
8
+ return {
9
+ url: url.replace(/\/+$/u, ''),
10
+ realm: environment['E2E_KEYCLOAK_REALM'] ?? defaults.realm,
11
+ adminUsername: environment['E2E_KEYCLOAK_ADMIN_USERNAME'] ?? defaults.adminUsername ?? DEFAULT_ADMIN,
12
+ adminPassword: environment['E2E_KEYCLOAK_ADMIN_PASSWORD'] ?? defaults.adminPassword ?? DEFAULT_ADMIN,
13
+ webClientId: environment['E2E_KEYCLOAK_WEB_CLIENT_ID'] ?? defaults.webClientId,
14
+ };
15
+ }
16
+ /** Creates a verified user with a password in the stack's realm. */
17
+ export async function createKeycloakTestUser(stack, user = {}, options = {}) {
18
+ const username = user.username ?? `e2e-${randomUUID()}`;
19
+ const password = user.password ?? `E2e-${randomUUID()}`;
20
+ const email = user.email ?? `${username}@example.test`;
21
+ const admin = await adminRequester(stack, options);
22
+ const response = await admin('users', {
23
+ method: 'POST',
24
+ body: {
25
+ username,
26
+ email,
27
+ emailVerified: true,
28
+ enabled: true,
29
+ firstName: 'E2E',
30
+ lastName: 'User',
31
+ credentials: [{ type: 'password', value: password, temporary: false }],
32
+ },
33
+ });
34
+ if (response.status !== HTTP_CREATED) {
35
+ throw new Error(`Keycloak user creation failed with HTTP ${String(response.status)}.`);
36
+ }
37
+ const subject = response.headers.get('location')?.match(/\/([^/]+)$/u)?.[1];
38
+ if (subject === undefined) {
39
+ throw new Error('Keycloak user creation returned no user location.');
40
+ }
41
+ return { username, password, email, subject: decodeURIComponent(subject) };
42
+ }
43
+ /** Ends every Keycloak session of the user, so the next token refresh fails. */
44
+ export async function revokeKeycloakUserSessions(stack, subject, options = {}) {
45
+ const admin = await adminRequester(stack, options);
46
+ const response = await admin(`users/${encodeURIComponent(subject)}/logout`, { method: 'POST' });
47
+ if (!response.ok) {
48
+ throw new Error(`Keycloak session revocation failed with HTTP ${String(response.status)}.`);
49
+ }
50
+ }
51
+ /** Adds the origin to the web client's redirect URIs and web origins when the client lacks it. */
52
+ export async function allowKeycloakWebOrigin(stack, origin, options = {}) {
53
+ const admin = await adminRequester(stack, options);
54
+ const lookup = await admin(`clients?clientId=${encodeURIComponent(stack.webClientId)}`);
55
+ if (!lookup.ok) {
56
+ throw new Error(`Keycloak client lookup failed with HTTP ${String(lookup.status)}.`);
57
+ }
58
+ const [client] = (await lookup.json());
59
+ if (client === undefined) {
60
+ throw new Error(`Keycloak realm ${stack.realm} has no ${stack.webClientId} client.`);
61
+ }
62
+ const redirectUri = `${origin}/*`;
63
+ if (client.redirectUris?.includes(redirectUri) && client.webOrigins?.includes(origin)) {
64
+ return;
65
+ }
66
+ const update = await admin(`clients/${encodeURIComponent(client.id)}`, {
67
+ method: 'PUT',
68
+ body: {
69
+ ...client,
70
+ redirectUris: withEntry(client.redirectUris, redirectUri),
71
+ webOrigins: withEntry(client.webOrigins, origin),
72
+ },
73
+ });
74
+ if (!update.ok) {
75
+ throw new Error(`Keycloak client update failed with HTTP ${String(update.status)}.`);
76
+ }
77
+ }
78
+ /** Waits for the Keycloak login page, fills it by its stable `keycloak.v2` IDs, and submits. */
79
+ export async function signInWithKeycloak(loginPage, user, stack, options = {}) {
80
+ const origin = new URL(stack.url).origin;
81
+ const isKeycloak = (url) => url.origin === origin;
82
+ await (options.timeoutMs === undefined
83
+ ? loginPage.waitForURL(isKeycloak)
84
+ : loginPage.waitForURL(isKeycloak, { timeout: options.timeoutMs }));
85
+ await loginPage.locator('#username').fill(user.username);
86
+ await loginPage.locator('#password').fill(user.password);
87
+ await loginPage.locator('#kc-login').click();
88
+ }
89
+ async function adminRequester(stack, options) {
90
+ const fetcher = options.fetch ?? fetch;
91
+ const timeoutMs = options.timeoutMs ?? DEFAULT_KEYCLOAK_REQUEST_TIMEOUT_MS;
92
+ const token = await adminAccessToken(stack, fetcher, timeoutMs);
93
+ const realmUrl = `${stack.url}/admin/realms/${encodeURIComponent(stack.realm)}`;
94
+ return (path, request = {}) => fetcher(`${realmUrl}/${path}`, {
95
+ method: request.method ?? 'GET',
96
+ headers: {
97
+ authorization: `Bearer ${token}`,
98
+ ...(request.body === undefined ? {} : { 'content-type': 'application/json' }),
99
+ },
100
+ ...(request.body === undefined ? {} : { body: JSON.stringify(request.body) }),
101
+ signal: AbortSignal.timeout(timeoutMs),
102
+ });
103
+ }
104
+ async function adminAccessToken(stack, fetcher, timeoutMs) {
105
+ const response = await fetcher(`${stack.url}/realms/master/protocol/openid-connect/token`, {
106
+ method: 'POST',
107
+ headers: { 'content-type': 'application/x-www-form-urlencoded' },
108
+ body: new URLSearchParams({
109
+ client_id: 'admin-cli',
110
+ grant_type: 'password',
111
+ username: stack.adminUsername,
112
+ password: stack.adminPassword,
113
+ }),
114
+ signal: AbortSignal.timeout(timeoutMs),
115
+ });
116
+ if (!response.ok) {
117
+ throw new Error(`Keycloak admin sign-in failed with HTTP ${String(response.status)}.`);
118
+ }
119
+ const body = (await response.json());
120
+ if (typeof body.access_token !== 'string') {
121
+ throw new Error('Keycloak admin sign-in returned no access token.');
122
+ }
123
+ return body.access_token;
124
+ }
125
+ function withEntry(entries, entry) {
126
+ const current = entries ?? [];
127
+ return current.includes(entry) ? [...current] : [...current, entry];
128
+ }
129
+ //# sourceMappingURL=keycloak-testing.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"keycloak-testing.js","sourceRoot":"","sources":["../src/keycloak-testing.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@baukit/auth-node",
3
- "version": "0.4.0",
3
+ "version": "0.5.1",
4
4
  "description": "Node OIDC device authorization with S256 PKCE, refresh rotation, and a locked token cache.",
5
5
  "license": "MIT",
6
6
  "author": "Patrick Koss",
@@ -24,11 +24,18 @@
24
24
  "exports": {
25
25
  ".": {
26
26
  "types": "./dist/index.d.ts",
27
- "import": "./dist/index.js"
27
+ "import": "./dist/index.js",
28
+ "default": "./dist/index.js"
28
29
  },
29
30
  "./device-flow": {
30
31
  "types": "./dist/device-flow.d.ts",
31
- "import": "./dist/device-flow.js"
32
+ "import": "./dist/device-flow.js",
33
+ "default": "./dist/device-flow.js"
34
+ },
35
+ "./keycloak-testing": {
36
+ "types": "./dist/keycloak-testing.d.ts",
37
+ "import": "./dist/keycloak-testing.js",
38
+ "default": "./dist/keycloak-testing.js"
32
39
  }
33
40
  },
34
41
  "files": [
@@ -36,17 +43,18 @@
36
43
  "README.md",
37
44
  "LICENSE"
38
45
  ],
39
- "devDependencies": {
40
- "@playwright/test": "1.62.1",
41
- "@types/node": "24.10.1",
42
- "typescript": "6.0.3"
43
- },
44
46
  "scripts": {
45
47
  "build": "tsc -p tsconfig.json",
46
- "test": "vitest run --config ../../vitest.config.ts",
48
+ "prepare": "pnpm run build",
49
+ "test": "tsc -p tsconfig.test.json && vitest run --config ../../vitest.config.ts && node ../../scripts/test-packed-exports.mjs",
47
50
  "test:conformance": "vitest run --config ../../vitest.config.ts src/conformance.test.ts",
48
51
  "test:conformance:keycloak": "pnpm run build && node scripts/keycloak-conformance.mjs",
49
52
  "lint": "eslint src --max-warnings=0",
50
53
  "format:check": "prettier --check src scripts package.json tsconfig.json tsconfig.test.json"
54
+ },
55
+ "devDependencies": {
56
+ "@playwright/test": "1.62.1",
57
+ "@types/node": "24.10.1",
58
+ "typescript": "6.0.3"
51
59
  }
52
- }
60
+ }