@better-auth/sso 1.4.7-beta.4 → 1.4.8-beta.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/.turbo/turbo-build.log +7 -7
- package/dist/client.d.mts +1 -1
- package/dist/{index-GoyGoP_a.d.mts → index-DNWhGQW-.d.mts} +94 -77
- package/dist/index.d.mts +2 -2
- package/dist/index.mjs +537 -286
- package/package.json +3 -3
- package/src/constants.ts +42 -0
- package/src/domain-verification.test.ts +1 -0
- package/src/index.ts +38 -11
- package/src/linking/index.ts +2 -0
- package/src/linking/org-assignment.ts +158 -0
- package/src/linking/types.ts +10 -0
- package/src/oidc/discovery.test.ts +359 -25
- package/src/oidc/discovery.ts +168 -29
- package/src/oidc/errors.ts +6 -0
- package/src/oidc/types.ts +9 -0
- package/src/oidc.test.ts +3 -0
- package/src/routes/sso.ts +339 -332
- package/src/saml/algorithms.test.ts +205 -0
- package/src/saml/algorithms.ts +259 -0
- package/src/saml/index.ts +9 -0
- package/src/saml.test.ts +351 -127
- package/src/types.ts +18 -16
- package/src/authn-request-store.ts +0 -76
- package/src/authn-request.test.ts +0 -99
package/.turbo/turbo-build.log
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
|
|
2
|
-
> @better-auth/sso@1.4.
|
|
2
|
+
> @better-auth/sso@1.4.8-beta.1 build /home/runner/work/better-auth/better-auth/packages/sso
|
|
3
3
|
> tsdown
|
|
4
4
|
|
|
5
5
|
[34mℹ[39m tsdown [2mv0.17.2[22m powered by rolldown [2mv1.0.0-beta.53[22m
|
|
@@ -7,10 +7,10 @@
|
|
|
7
7
|
[34mℹ[39m entry: [34msrc/index.ts, src/client.ts[39m
|
|
8
8
|
[34mℹ[39m tsconfig: [34mtsconfig.json[39m
|
|
9
9
|
[34mℹ[39m Build start
|
|
10
|
-
[34mℹ[39m [2mdist/[22m[1mindex.mjs[22m [
|
|
10
|
+
[34mℹ[39m [2mdist/[22m[1mindex.mjs[22m [2m92.44 kB[22m [2m│ gzip: 18.07 kB[22m
|
|
11
11
|
[34mℹ[39m [2mdist/[22m[1mclient.mjs[22m [2m 0.15 kB[22m [2m│ gzip: 0.14 kB[22m
|
|
12
|
-
[34mℹ[39m [2mdist/[22m[32m[1mindex.d.mts[22m[39m [2m 1.
|
|
13
|
-
[34mℹ[39m [2mdist/[22m[32m[1mclient.d.mts[22m[39m [2m 0.49 kB[22m [2m│ gzip: 0.
|
|
14
|
-
[34mℹ[39m [2mdist/[22m[32mindex-
|
|
15
|
-
[34mℹ[39m 5 files, total:
|
|
16
|
-
[32m✔[39m Build complete in [
|
|
12
|
+
[34mℹ[39m [2mdist/[22m[32m[1mindex.d.mts[22m[39m [2m 1.48 kB[22m [2m│ gzip: 0.51 kB[22m
|
|
13
|
+
[34mℹ[39m [2mdist/[22m[32m[1mclient.d.mts[22m[39m [2m 0.49 kB[22m [2m│ gzip: 0.30 kB[22m
|
|
14
|
+
[34mℹ[39m [2mdist/[22m[32mindex-DNWhGQW-.d.mts[39m [2m42.86 kB[22m [2m│ gzip: 8.79 kB[22m
|
|
15
|
+
[34mℹ[39m 5 files, total: 137.41 kB
|
|
16
|
+
[32m✔[39m Build complete in [32m12113ms[39m
|
package/dist/client.d.mts
CHANGED
|
@@ -1,43 +1,47 @@
|
|
|
1
1
|
import { APIError } from "better-auth/api";
|
|
2
|
-
import * as z from "zod/v4";
|
|
3
|
-
import
|
|
4
|
-
import
|
|
2
|
+
import * as z$1 from "zod/v4";
|
|
3
|
+
import z from "zod/v4";
|
|
4
|
+
import { Awaitable, OAuth2Tokens, User } from "better-auth";
|
|
5
|
+
import * as better_call0 from "better-call";
|
|
5
6
|
|
|
6
|
-
//#region src/
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
7
|
+
//#region src/saml/algorithms.d.ts
|
|
8
|
+
declare const SignatureAlgorithm: {
|
|
9
|
+
readonly RSA_SHA1: "http://www.w3.org/2000/09/xmldsig#rsa-sha1";
|
|
10
|
+
readonly RSA_SHA256: "http://www.w3.org/2001/04/xmldsig-more#rsa-sha256";
|
|
11
|
+
readonly RSA_SHA384: "http://www.w3.org/2001/04/xmldsig-more#rsa-sha384";
|
|
12
|
+
readonly RSA_SHA512: "http://www.w3.org/2001/04/xmldsig-more#rsa-sha512";
|
|
13
|
+
readonly ECDSA_SHA256: "http://www.w3.org/2001/04/xmldsig-more#ecdsa-sha256";
|
|
14
|
+
readonly ECDSA_SHA384: "http://www.w3.org/2001/04/xmldsig-more#ecdsa-sha384";
|
|
15
|
+
readonly ECDSA_SHA512: "http://www.w3.org/2001/04/xmldsig-more#ecdsa-sha512";
|
|
16
|
+
};
|
|
17
|
+
declare const DigestAlgorithm: {
|
|
18
|
+
readonly SHA1: "http://www.w3.org/2000/09/xmldsig#sha1";
|
|
19
|
+
readonly SHA256: "http://www.w3.org/2001/04/xmlenc#sha256";
|
|
20
|
+
readonly SHA384: "http://www.w3.org/2001/04/xmldsig-more#sha384";
|
|
21
|
+
readonly SHA512: "http://www.w3.org/2001/04/xmlenc#sha512";
|
|
22
|
+
};
|
|
23
|
+
declare const KeyEncryptionAlgorithm: {
|
|
24
|
+
readonly RSA_1_5: "http://www.w3.org/2001/04/xmlenc#rsa-1_5";
|
|
25
|
+
readonly RSA_OAEP: "http://www.w3.org/2001/04/xmlenc#rsa-oaep-mgf1p";
|
|
26
|
+
readonly RSA_OAEP_SHA256: "http://www.w3.org/2009/xmlenc11#rsa-oaep";
|
|
27
|
+
};
|
|
28
|
+
declare const DataEncryptionAlgorithm: {
|
|
29
|
+
readonly TRIPLEDES_CBC: "http://www.w3.org/2001/04/xmlenc#tripledes-cbc";
|
|
30
|
+
readonly AES_128_CBC: "http://www.w3.org/2001/04/xmlenc#aes128-cbc";
|
|
31
|
+
readonly AES_192_CBC: "http://www.w3.org/2001/04/xmlenc#aes192-cbc";
|
|
32
|
+
readonly AES_256_CBC: "http://www.w3.org/2001/04/xmlenc#aes256-cbc";
|
|
33
|
+
readonly AES_128_GCM: "http://www.w3.org/2009/xmlenc11#aes128-gcm";
|
|
34
|
+
readonly AES_192_GCM: "http://www.w3.org/2009/xmlenc11#aes192-gcm";
|
|
35
|
+
readonly AES_256_GCM: "http://www.w3.org/2009/xmlenc11#aes256-gcm";
|
|
36
|
+
};
|
|
37
|
+
type DeprecatedAlgorithmBehavior = "reject" | "warn" | "allow";
|
|
38
|
+
interface AlgorithmValidationOptions {
|
|
39
|
+
onDeprecated?: DeprecatedAlgorithmBehavior;
|
|
40
|
+
allowedSignatureAlgorithms?: string[];
|
|
41
|
+
allowedDigestAlgorithms?: string[];
|
|
42
|
+
allowedKeyEncryptionAlgorithms?: string[];
|
|
43
|
+
allowedDataEncryptionAlgorithms?: string[];
|
|
28
44
|
}
|
|
29
|
-
/**
|
|
30
|
-
* Default TTL for AuthnRequest records (5 minutes).
|
|
31
|
-
* This should be sufficient for most IdPs while protecting against stale requests.
|
|
32
|
-
*/
|
|
33
|
-
declare const DEFAULT_AUTHN_REQUEST_TTL_MS: number;
|
|
34
|
-
/**
|
|
35
|
-
* In-memory implementation of AuthnRequestStore.
|
|
36
|
-
* ⚠️ Only suitable for testing or single-instance non-serverless deployments.
|
|
37
|
-
* For production, rely on the default behavior (uses verification table)
|
|
38
|
-
* or provide a custom Redis-backed store.
|
|
39
|
-
*/
|
|
40
|
-
declare function createInMemoryAuthnRequestStore(): AuthnRequestStore;
|
|
41
45
|
//#endregion
|
|
42
46
|
//#region src/types.d.ts
|
|
43
47
|
interface OIDCMapping {
|
|
@@ -148,7 +152,7 @@ interface SSOOptions {
|
|
|
148
152
|
* The SSO provider
|
|
149
153
|
*/
|
|
150
154
|
provider: SSOProvider<SSOOptions>;
|
|
151
|
-
}) =>
|
|
155
|
+
}) => Awaitable<void>) | undefined;
|
|
152
156
|
/**
|
|
153
157
|
* Organization provisioning options
|
|
154
158
|
*/
|
|
@@ -244,7 +248,7 @@ interface SSOOptions {
|
|
|
244
248
|
* ```
|
|
245
249
|
* @default 10
|
|
246
250
|
*/
|
|
247
|
-
providersLimit?: (number | ((user: User) =>
|
|
251
|
+
providersLimit?: (number | ((user: User) => Awaitable<number>)) | undefined;
|
|
248
252
|
/**
|
|
249
253
|
* Trust the email verified flag from the provider.
|
|
250
254
|
*
|
|
@@ -317,16 +321,6 @@ interface SSOOptions {
|
|
|
317
321
|
* @default 300000 (5 minutes)
|
|
318
322
|
*/
|
|
319
323
|
requestTTL?: number;
|
|
320
|
-
/**
|
|
321
|
-
* Custom AuthnRequest store implementation.
|
|
322
|
-
* Use this to provide a custom storage backend (e.g., Redis-backed store).
|
|
323
|
-
*
|
|
324
|
-
* Providing a custom store automatically enables InResponseTo validation.
|
|
325
|
-
*
|
|
326
|
-
* Note: When not provided, the default storage (secondaryStorage with
|
|
327
|
-
* verification table fallback) is used automatically.
|
|
328
|
-
*/
|
|
329
|
-
authnRequestStore?: AuthnRequestStore;
|
|
330
324
|
/**
|
|
331
325
|
* Clock skew tolerance for SAML assertion timestamp validation in milliseconds.
|
|
332
326
|
* Allows for minor time differences between IdP and SP servers.
|
|
@@ -359,15 +353,29 @@ interface SSOOptions {
|
|
|
359
353
|
* @default false
|
|
360
354
|
*/
|
|
361
355
|
requireTimestamps?: boolean;
|
|
356
|
+
/**
|
|
357
|
+
* Algorithm validation options for SAML responses.
|
|
358
|
+
*
|
|
359
|
+
* Controls behavior when deprecated algorithms (SHA-1, RSA1_5, 3DES)
|
|
360
|
+
* are detected in SAML responses.
|
|
361
|
+
*
|
|
362
|
+
* @example
|
|
363
|
+
* ```ts
|
|
364
|
+
* algorithms: {
|
|
365
|
+
* onDeprecated: "reject" // Reject deprecated algorithms
|
|
366
|
+
* }
|
|
367
|
+
* ```
|
|
368
|
+
*/
|
|
369
|
+
algorithms?: AlgorithmValidationOptions;
|
|
362
370
|
};
|
|
363
371
|
}
|
|
364
372
|
//#endregion
|
|
365
373
|
//#region src/routes/domain-verification.d.ts
|
|
366
|
-
declare const requestDomainVerification: (options: SSOOptions) =>
|
|
374
|
+
declare const requestDomainVerification: (options: SSOOptions) => better_call0.StrictEndpoint<"/sso/request-domain-verification", {
|
|
367
375
|
method: "POST";
|
|
368
|
-
body: z.ZodObject<{
|
|
369
|
-
providerId: z.ZodString;
|
|
370
|
-
}, z.core.$strip>;
|
|
376
|
+
body: z$1.ZodObject<{
|
|
377
|
+
providerId: z$1.ZodString;
|
|
378
|
+
}, z$1.core.$strip>;
|
|
371
379
|
metadata: {
|
|
372
380
|
openapi: {
|
|
373
381
|
summary: string;
|
|
@@ -385,7 +393,7 @@ declare const requestDomainVerification: (options: SSOOptions) => better_call7.S
|
|
|
385
393
|
};
|
|
386
394
|
};
|
|
387
395
|
};
|
|
388
|
-
use: ((inputContext:
|
|
396
|
+
use: ((inputContext: better_call0.MiddlewareInputContext<better_call0.MiddlewareOptions>) => Promise<{
|
|
389
397
|
session: {
|
|
390
398
|
session: Record<string, any> & {
|
|
391
399
|
id: string;
|
|
@@ -411,11 +419,11 @@ declare const requestDomainVerification: (options: SSOOptions) => better_call7.S
|
|
|
411
419
|
}, {
|
|
412
420
|
domainVerificationToken: string;
|
|
413
421
|
}>;
|
|
414
|
-
declare const verifyDomain: (options: SSOOptions) =>
|
|
422
|
+
declare const verifyDomain: (options: SSOOptions) => better_call0.StrictEndpoint<"/sso/verify-domain", {
|
|
415
423
|
method: "POST";
|
|
416
|
-
body: z.ZodObject<{
|
|
417
|
-
providerId: z.ZodString;
|
|
418
|
-
}, z.core.$strip>;
|
|
424
|
+
body: z$1.ZodObject<{
|
|
425
|
+
providerId: z$1.ZodString;
|
|
426
|
+
}, z$1.core.$strip>;
|
|
419
427
|
metadata: {
|
|
420
428
|
openapi: {
|
|
421
429
|
summary: string;
|
|
@@ -436,7 +444,7 @@ declare const verifyDomain: (options: SSOOptions) => better_call7.StrictEndpoint
|
|
|
436
444
|
};
|
|
437
445
|
};
|
|
438
446
|
};
|
|
439
|
-
use: ((inputContext:
|
|
447
|
+
use: ((inputContext: better_call0.MiddlewareInputContext<better_call0.MiddlewareOptions>) => Promise<{
|
|
440
448
|
session: {
|
|
441
449
|
session: Record<string, any> & {
|
|
442
450
|
id: string;
|
|
@@ -462,8 +470,6 @@ declare const verifyDomain: (options: SSOOptions) => better_call7.StrictEndpoint
|
|
|
462
470
|
}, void>;
|
|
463
471
|
//#endregion
|
|
464
472
|
//#region src/routes/sso.d.ts
|
|
465
|
-
/** Default clock skew tolerance: 5 minutes */
|
|
466
|
-
declare const DEFAULT_CLOCK_SKEW_MS: number;
|
|
467
473
|
interface TimestampValidationOptions {
|
|
468
474
|
clockSkew?: number;
|
|
469
475
|
requireTimestamps?: boolean;
|
|
@@ -482,7 +488,7 @@ interface SAMLConditions {
|
|
|
482
488
|
* @throws {APIError} If timestamps are invalid, expired, or not yet valid
|
|
483
489
|
*/
|
|
484
490
|
declare function validateSAMLTimestamp(conditions: SAMLConditions | undefined, options?: TimestampValidationOptions): void;
|
|
485
|
-
declare const spMetadata: () =>
|
|
491
|
+
declare const spMetadata: () => better_call0.StrictEndpoint<"/sso/saml2/sp/metadata", {
|
|
486
492
|
method: "GET";
|
|
487
493
|
query: z.ZodObject<{
|
|
488
494
|
providerId: z.ZodString;
|
|
@@ -504,7 +510,7 @@ declare const spMetadata: () => better_call7.StrictEndpoint<"/sso/saml2/sp/metad
|
|
|
504
510
|
};
|
|
505
511
|
};
|
|
506
512
|
}, Response>;
|
|
507
|
-
declare const registerSSOProvider: <O extends SSOOptions>(options: O) =>
|
|
513
|
+
declare const registerSSOProvider: <O extends SSOOptions>(options: O) => better_call0.StrictEndpoint<"/sso/register", {
|
|
508
514
|
method: "POST";
|
|
509
515
|
body: z.ZodObject<{
|
|
510
516
|
providerId: z.ZodString;
|
|
@@ -583,7 +589,7 @@ declare const registerSSOProvider: <O extends SSOOptions>(options: O) => better_
|
|
|
583
589
|
organizationId: z.ZodOptional<z.ZodString>;
|
|
584
590
|
overrideUserInfo: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
|
|
585
591
|
}, z.core.$strip>;
|
|
586
|
-
use: ((inputContext:
|
|
592
|
+
use: ((inputContext: better_call0.MiddlewareInputContext<better_call0.MiddlewareOptions>) => Promise<{
|
|
587
593
|
session: {
|
|
588
594
|
session: Record<string, any> & {
|
|
589
595
|
id: string;
|
|
@@ -773,7 +779,7 @@ declare const registerSSOProvider: <O extends SSOOptions>(options: O) => better_
|
|
|
773
779
|
domainVerified: boolean;
|
|
774
780
|
domainVerificationToken: string;
|
|
775
781
|
} & SSOProvider<O> : SSOProvider<O>>;
|
|
776
|
-
declare const signInSSO: (options?: SSOOptions) =>
|
|
782
|
+
declare const signInSSO: (options?: SSOOptions) => better_call0.StrictEndpoint<"/sign-in/sso", {
|
|
777
783
|
method: "POST";
|
|
778
784
|
body: z.ZodObject<{
|
|
779
785
|
email: z.ZodOptional<z.ZodString>;
|
|
@@ -867,7 +873,7 @@ declare const signInSSO: (options?: SSOOptions) => better_call7.StrictEndpoint<"
|
|
|
867
873
|
url: string;
|
|
868
874
|
redirect: boolean;
|
|
869
875
|
}>;
|
|
870
|
-
declare const callbackSSO: (options?: SSOOptions) =>
|
|
876
|
+
declare const callbackSSO: (options?: SSOOptions) => better_call0.StrictEndpoint<"/sso/callback/:providerId", {
|
|
871
877
|
method: "GET";
|
|
872
878
|
query: z.ZodObject<{
|
|
873
879
|
code: z.ZodOptional<z.ZodString>;
|
|
@@ -890,7 +896,7 @@ declare const callbackSSO: (options?: SSOOptions) => better_call7.StrictEndpoint
|
|
|
890
896
|
scope: "server";
|
|
891
897
|
};
|
|
892
898
|
}, never>;
|
|
893
|
-
declare const callbackSSOSAML: (options?: SSOOptions) =>
|
|
899
|
+
declare const callbackSSOSAML: (options?: SSOOptions) => better_call0.StrictEndpoint<"/sso/saml2/callback/:providerId", {
|
|
894
900
|
method: "POST";
|
|
895
901
|
body: z.ZodObject<{
|
|
896
902
|
SAMLResponse: z.ZodString;
|
|
@@ -917,7 +923,7 @@ declare const callbackSSOSAML: (options?: SSOOptions) => better_call7.StrictEndp
|
|
|
917
923
|
scope: "server";
|
|
918
924
|
};
|
|
919
925
|
}, never>;
|
|
920
|
-
declare const acsEndpoint: (options?: SSOOptions) =>
|
|
926
|
+
declare const acsEndpoint: (options?: SSOOptions) => better_call0.StrictEndpoint<"/sso/saml2/sp/acs/:providerId", {
|
|
921
927
|
method: "POST";
|
|
922
928
|
params: z.ZodObject<{
|
|
923
929
|
providerId: z.ZodOptional<z.ZodString>;
|
|
@@ -1022,6 +1028,7 @@ type DiscoveryErrorCode = /** Request to discovery endpoint timed out */
|
|
|
1022
1028
|
/** Discovery endpoint returned 404 or similar */ | "discovery_not_found"
|
|
1023
1029
|
/** Discovery endpoint returned invalid JSON */ | "discovery_invalid_json"
|
|
1024
1030
|
/** Discovery URL is invalid or malformed */ | "discovery_invalid_url"
|
|
1031
|
+
/** Discovery URL is not trusted by the trusted origins configuration */ | "discovery_untrusted_origin"
|
|
1025
1032
|
/** Discovery document issuer doesn't match configured issuer */ | "issuer_mismatch"
|
|
1026
1033
|
/** Discovery document is missing required fields */ | "discovery_incomplete"
|
|
1027
1034
|
/** IdP only advertises token auth methods that Better Auth doesn't currently support */ | "unsupported_token_auth_method"
|
|
@@ -1083,6 +1090,12 @@ interface DiscoverOIDCConfigParams {
|
|
|
1083
1090
|
* @default 10000 (10 seconds)
|
|
1084
1091
|
*/
|
|
1085
1092
|
timeout?: number;
|
|
1093
|
+
/**
|
|
1094
|
+
* Trusted origin predicate. See "trustedOrigins" option
|
|
1095
|
+
* @param url the url to test
|
|
1096
|
+
* @returns {boolean} return true for urls that belong to a trusted origin and false otherwise
|
|
1097
|
+
*/
|
|
1098
|
+
isTrustedOrigin: (url: string) => boolean;
|
|
1086
1099
|
}
|
|
1087
1100
|
/**
|
|
1088
1101
|
* Required fields that must be present in a valid discovery document.
|
|
@@ -1096,14 +1109,15 @@ type RequiredDiscoveryField = (typeof REQUIRED_DISCOVERY_FIELDS)[number];
|
|
|
1096
1109
|
*
|
|
1097
1110
|
* This function:
|
|
1098
1111
|
* 1. Computes the discovery URL from the issuer
|
|
1099
|
-
* 2. Validates the discovery URL
|
|
1112
|
+
* 2. Validates the discovery URL
|
|
1100
1113
|
* 3. Fetches the discovery document
|
|
1101
1114
|
* 4. Validates the discovery document (issuer match + required fields)
|
|
1102
|
-
* 5. Normalizes URLs
|
|
1115
|
+
* 5. Normalizes URLs
|
|
1103
1116
|
* 6. Selects token endpoint auth method
|
|
1104
1117
|
* 7. Merges with existing config (existing values take precedence)
|
|
1105
1118
|
*
|
|
1106
1119
|
* @param params - Discovery parameters
|
|
1120
|
+
* @param isTrustedOrigin - Origin verification tester function
|
|
1107
1121
|
* @returns Hydrated OIDC configuration ready for persistence
|
|
1108
1122
|
* @throws DiscoveryError on any failure
|
|
1109
1123
|
*/
|
|
@@ -1121,9 +1135,10 @@ declare function computeDiscoveryUrl(issuer: string): string;
|
|
|
1121
1135
|
* Validate a discovery URL before fetching.
|
|
1122
1136
|
*
|
|
1123
1137
|
* @param url - The discovery URL to validate
|
|
1138
|
+
* @param isTrustedOrigin - Origin verification tester function
|
|
1124
1139
|
* @throws DiscoveryError if URL is invalid
|
|
1125
1140
|
*/
|
|
1126
|
-
declare function validateDiscoveryUrl(url: string): void;
|
|
1141
|
+
declare function validateDiscoveryUrl(url: string, isTrustedOrigin: DiscoverOIDCConfigParams["isTrustedOrigin"]): void;
|
|
1127
1142
|
/**
|
|
1128
1143
|
* Fetch the OIDC discovery document from the IdP.
|
|
1129
1144
|
*
|
|
@@ -1152,19 +1167,21 @@ declare function validateDiscoveryDocument(doc: OIDCDiscoveryDocument, configure
|
|
|
1152
1167
|
/**
|
|
1153
1168
|
* Normalize URLs in the discovery document.
|
|
1154
1169
|
*
|
|
1155
|
-
* @param
|
|
1156
|
-
* @param
|
|
1170
|
+
* @param document - The discovery document
|
|
1171
|
+
* @param issuer - The base issuer URL
|
|
1172
|
+
* @param isTrustedOrigin - Origin verification tester function
|
|
1157
1173
|
* @returns The normalized discovery document
|
|
1158
1174
|
*/
|
|
1159
|
-
declare function normalizeDiscoveryUrls(
|
|
1175
|
+
declare function normalizeDiscoveryUrls(document: OIDCDiscoveryDocument, issuer: string, isTrustedOrigin: DiscoverOIDCConfigParams["isTrustedOrigin"]): OIDCDiscoveryDocument;
|
|
1160
1176
|
/**
|
|
1161
1177
|
* Normalize a single URL endpoint.
|
|
1162
1178
|
*
|
|
1179
|
+
* @param name - The endpoint name (e.g token_endpoint)
|
|
1163
1180
|
* @param endpoint - The endpoint URL to normalize
|
|
1164
|
-
* @param
|
|
1181
|
+
* @param issuer - The base issuer URL
|
|
1165
1182
|
* @returns The normalized endpoint URL
|
|
1166
1183
|
*/
|
|
1167
|
-
declare function normalizeUrl(endpoint: string,
|
|
1184
|
+
declare function normalizeUrl(name: string, endpoint: string, issuer: string): string;
|
|
1168
1185
|
/**
|
|
1169
1186
|
* Select the token endpoint authentication method.
|
|
1170
1187
|
*
|
|
@@ -1225,4 +1242,4 @@ declare function sso<O extends SSOOptions>(options?: O | undefined): {
|
|
|
1225
1242
|
endpoints: SSOEndpoints<O>;
|
|
1226
1243
|
};
|
|
1227
1244
|
//#endregion
|
|
1228
|
-
export {
|
|
1245
|
+
export { KeyEncryptionAlgorithm as A, SAMLConfig as C, DataEncryptionAlgorithm as D, AlgorithmValidationOptions as E, DeprecatedAlgorithmBehavior as O, OIDCConfig as S, SSOProvider as T, REQUIRED_DISCOVERY_FIELDS as _, fetchDiscoveryDocument as a, TimestampValidationOptions as b, normalizeUrl as c, validateDiscoveryUrl as d, DiscoverOIDCConfigParams as f, OIDCDiscoveryDocument as g, HydratedOIDCConfig as h, discoverOIDCConfig as i, SignatureAlgorithm as j, DigestAlgorithm as k, selectTokenEndpointAuthMethod as l, DiscoveryErrorCode as m, sso as n, needsRuntimeDiscovery as o, DiscoveryError as p, computeDiscoveryUrl as r, normalizeDiscoveryUrls as s, SSOPlugin as t, validateDiscoveryDocument as u, RequiredDiscoveryField as v, SSOOptions as w, validateSAMLTimestamp as x, SAMLConditions as y };
|
package/dist/index.d.mts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { A as
|
|
2
|
-
export {
|
|
1
|
+
import { A as KeyEncryptionAlgorithm, C as SAMLConfig, D as DataEncryptionAlgorithm, E as AlgorithmValidationOptions, O as DeprecatedAlgorithmBehavior, S as OIDCConfig, T as SSOProvider, _ as REQUIRED_DISCOVERY_FIELDS, a as fetchDiscoveryDocument, b as TimestampValidationOptions, c as normalizeUrl, d as validateDiscoveryUrl, f as DiscoverOIDCConfigParams, g as OIDCDiscoveryDocument, h as HydratedOIDCConfig, i as discoverOIDCConfig, j as SignatureAlgorithm, k as DigestAlgorithm, l as selectTokenEndpointAuthMethod, m as DiscoveryErrorCode, n as sso, o as needsRuntimeDiscovery, p as DiscoveryError, r as computeDiscoveryUrl, s as normalizeDiscoveryUrls, t as SSOPlugin, u as validateDiscoveryDocument, v as RequiredDiscoveryField, w as SSOOptions, x as validateSAMLTimestamp, y as SAMLConditions } from "./index-DNWhGQW-.mjs";
|
|
2
|
+
export { AlgorithmValidationOptions, DataEncryptionAlgorithm, DeprecatedAlgorithmBehavior, DigestAlgorithm, DiscoverOIDCConfigParams, DiscoveryError, DiscoveryErrorCode, HydratedOIDCConfig, KeyEncryptionAlgorithm, OIDCConfig, OIDCDiscoveryDocument, REQUIRED_DISCOVERY_FIELDS, RequiredDiscoveryField, SAMLConditions, SAMLConfig, SSOOptions, SSOPlugin, SSOProvider, SignatureAlgorithm, TimestampValidationOptions, computeDiscoveryUrl, discoverOIDCConfig, fetchDiscoveryDocument, needsRuntimeDiscovery, normalizeDiscoveryUrls, normalizeUrl, selectTokenEndpointAuthMethod, sso, validateDiscoveryDocument, validateDiscoveryUrl, validateSAMLTimestamp };
|