@better-auth/sso 1.4.16 → 1.4.18
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 +10 -8
- package/dist/client.d.mts +7 -2
- package/dist/client.mjs +7 -2
- package/dist/client.mjs.map +1 -0
- package/dist/{index-D4Ey-vkQ.d.mts → index-C4nbdf2g.d.mts} +381 -9
- package/dist/index.d.mts +1 -1
- package/dist/index.mjs +1115 -595
- package/dist/index.mjs.map +1 -0
- package/package.json +4 -4
- package/src/client.ts +5 -1
- package/src/index.ts +45 -6
- package/src/linking/org-assignment.ts +28 -13
- package/src/providers.test.ts +1326 -0
- package/src/routes/providers.ts +567 -0
- package/src/routes/schemas.ts +95 -0
- package/src/routes/sso.ts +195 -54
- package/src/saml-state.ts +78 -0
- package/src/saml.test.ts +1136 -97
- package/src/types.ts +7 -0
- package/src/utils.test.ts +103 -0
- package/src/utils.ts +45 -5
- package/tsdown.config.ts +1 -0
package/.turbo/turbo-build.log
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
|
|
2
|
-
> @better-auth/sso@1.4.
|
|
2
|
+
> @better-auth/sso@1.4.18 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,12 @@
|
|
|
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 [
|
|
11
|
-
[34mℹ[39m [2mdist/[22m[1mclient.mjs[22m [2m
|
|
12
|
-
[34mℹ[39m [2mdist/[
|
|
13
|
-
[34mℹ[39m [2mdist/[
|
|
14
|
-
[34mℹ[39m [2mdist/[22m[
|
|
15
|
-
[34mℹ[39m
|
|
16
|
-
[
|
|
10
|
+
[34mℹ[39m [2mdist/[22m[1mindex.mjs[22m [2m120.19 kB[22m [2m│ gzip: 23.98 kB[22m
|
|
11
|
+
[34mℹ[39m [2mdist/[22m[1mclient.mjs[22m [2m 0.28 kB[22m [2m│ gzip: 0.21 kB[22m
|
|
12
|
+
[34mℹ[39m [2mdist/[22mindex.mjs.map [2m244.62 kB[22m [2m│ gzip: 47.01 kB[22m
|
|
13
|
+
[34mℹ[39m [2mdist/[22mclient.mjs.map [2m 0.94 kB[22m [2m│ gzip: 0.50 kB[22m
|
|
14
|
+
[34mℹ[39m [2mdist/[22m[32m[1mindex.d.mts[22m[39m [2m 1.67 kB[22m [2m│ gzip: 0.57 kB[22m
|
|
15
|
+
[34mℹ[39m [2mdist/[22m[32m[1mclient.d.mts[22m[39m [2m 0.62 kB[22m [2m│ gzip: 0.36 kB[22m
|
|
16
|
+
[34mℹ[39m [2mdist/[22m[32mindex-C4nbdf2g.d.mts[39m [2m 55.71 kB[22m [2m│ gzip: 9.86 kB[22m
|
|
17
|
+
[34mℹ[39m 7 files, total: 424.03 kB
|
|
18
|
+
[32m✔[39m Build complete in [32m18417ms[39m
|
package/dist/client.d.mts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { t as SSOPlugin } from "./index-
|
|
1
|
+
import { t as SSOPlugin } from "./index-C4nbdf2g.mjs";
|
|
2
2
|
|
|
3
3
|
//#region src/client.d.ts
|
|
4
4
|
interface SSOClientOptions {
|
|
@@ -15,6 +15,11 @@ declare const ssoClient: <CO extends SSOClientOptions>(options?: CO | undefined)
|
|
|
15
15
|
} ? true : false;
|
|
16
16
|
};
|
|
17
17
|
}>;
|
|
18
|
+
pathMethods: {
|
|
19
|
+
"/sso/providers": "GET";
|
|
20
|
+
"/sso/providers/:providerId": "GET";
|
|
21
|
+
};
|
|
18
22
|
};
|
|
19
23
|
//#endregion
|
|
20
|
-
export { ssoClient };
|
|
24
|
+
export { ssoClient };
|
|
25
|
+
//# sourceMappingURL=client.d.mts.map
|
package/dist/client.mjs
CHANGED
|
@@ -2,9 +2,14 @@
|
|
|
2
2
|
const ssoClient = (options) => {
|
|
3
3
|
return {
|
|
4
4
|
id: "sso-client",
|
|
5
|
-
$InferServerPlugin: {}
|
|
5
|
+
$InferServerPlugin: {},
|
|
6
|
+
pathMethods: {
|
|
7
|
+
"/sso/providers": "GET",
|
|
8
|
+
"/sso/providers/:providerId": "GET"
|
|
9
|
+
}
|
|
6
10
|
};
|
|
7
11
|
};
|
|
8
12
|
|
|
9
13
|
//#endregion
|
|
10
|
-
export { ssoClient };
|
|
14
|
+
export { ssoClient };
|
|
15
|
+
//# sourceMappingURL=client.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.mjs","names":[],"sources":["../src/client.ts"],"sourcesContent":["import type { BetterAuthClientPlugin } from \"better-auth/client\";\nimport type { SSOPlugin } from \"./index\";\n\ninterface SSOClientOptions {\n\tdomainVerification?:\n\t\t| {\n\t\t\t\tenabled: boolean;\n\t\t }\n\t\t| undefined;\n}\n\nexport const ssoClient = <CO extends SSOClientOptions>(\n\toptions?: CO | undefined,\n) => {\n\treturn {\n\t\tid: \"sso-client\",\n\t\t$InferServerPlugin: {} as SSOPlugin<{\n\t\t\tdomainVerification: {\n\t\t\t\tenabled: CO[\"domainVerification\"] extends { enabled: true }\n\t\t\t\t\t? true\n\t\t\t\t\t: false;\n\t\t\t};\n\t\t}>,\n\t\tpathMethods: {\n\t\t\t\"/sso/providers\": \"GET\",\n\t\t\t\"/sso/providers/:providerId\": \"GET\",\n\t\t},\n\t} satisfies BetterAuthClientPlugin;\n};\n"],"mappings":";AAWA,MAAa,aACZ,YACI;AACJ,QAAO;EACN,IAAI;EACJ,oBAAoB,EAAE;EAOtB,aAAa;GACZ,kBAAkB;GAClB,8BAA8B;GAC9B;EACD"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { APIError } from "better-auth/api";
|
|
2
2
|
import * as z$1 from "zod/v4";
|
|
3
3
|
import z from "zod/v4";
|
|
4
|
-
import { Awaitable, OAuth2Tokens, User } from "better-auth";
|
|
4
|
+
import { Awaitable, BetterAuthPlugin, OAuth2Tokens, User } from "better-auth";
|
|
5
5
|
import * as better_call0 from "better-call";
|
|
6
6
|
|
|
7
7
|
//#region src/saml/algorithms.d.ts
|
|
@@ -481,6 +481,373 @@ declare const verifyDomain: (options: SSOOptions) => better_call0.StrictEndpoint
|
|
|
481
481
|
}>)[];
|
|
482
482
|
}, void>;
|
|
483
483
|
//#endregion
|
|
484
|
+
//#region src/routes/providers.d.ts
|
|
485
|
+
declare const listSSOProviders: () => better_call0.StrictEndpoint<"/sso/providers", {
|
|
486
|
+
method: "GET";
|
|
487
|
+
use: ((inputContext: better_call0.MiddlewareInputContext<better_call0.MiddlewareOptions>) => Promise<{
|
|
488
|
+
session: {
|
|
489
|
+
session: Record<string, any> & {
|
|
490
|
+
id: string;
|
|
491
|
+
createdAt: Date;
|
|
492
|
+
updatedAt: Date;
|
|
493
|
+
userId: string;
|
|
494
|
+
expiresAt: Date;
|
|
495
|
+
token: string;
|
|
496
|
+
ipAddress?: string | null | undefined;
|
|
497
|
+
userAgent?: string | null | undefined;
|
|
498
|
+
};
|
|
499
|
+
user: Record<string, any> & {
|
|
500
|
+
id: string;
|
|
501
|
+
createdAt: Date;
|
|
502
|
+
updatedAt: Date;
|
|
503
|
+
email: string;
|
|
504
|
+
emailVerified: boolean;
|
|
505
|
+
name: string;
|
|
506
|
+
image?: string | null | undefined;
|
|
507
|
+
};
|
|
508
|
+
};
|
|
509
|
+
}>)[];
|
|
510
|
+
metadata: {
|
|
511
|
+
openapi: {
|
|
512
|
+
operationId: string;
|
|
513
|
+
summary: string;
|
|
514
|
+
description: string;
|
|
515
|
+
responses: {
|
|
516
|
+
"200": {
|
|
517
|
+
description: string;
|
|
518
|
+
};
|
|
519
|
+
};
|
|
520
|
+
};
|
|
521
|
+
};
|
|
522
|
+
}, {
|
|
523
|
+
providers: {
|
|
524
|
+
providerId: string;
|
|
525
|
+
type: string;
|
|
526
|
+
issuer: string;
|
|
527
|
+
domain: string;
|
|
528
|
+
organizationId: string | null;
|
|
529
|
+
domainVerified: boolean;
|
|
530
|
+
oidcConfig: {
|
|
531
|
+
discoveryEndpoint: string;
|
|
532
|
+
clientIdLastFour: string;
|
|
533
|
+
pkce: boolean;
|
|
534
|
+
authorizationEndpoint: string | undefined;
|
|
535
|
+
tokenEndpoint: string | undefined;
|
|
536
|
+
userInfoEndpoint: string | undefined;
|
|
537
|
+
jwksEndpoint: string | undefined;
|
|
538
|
+
scopes: string[] | undefined;
|
|
539
|
+
tokenEndpointAuthentication: "client_secret_post" | "client_secret_basic" | undefined;
|
|
540
|
+
} | undefined;
|
|
541
|
+
samlConfig: {
|
|
542
|
+
entryPoint: string;
|
|
543
|
+
callbackUrl: string;
|
|
544
|
+
audience: string | undefined;
|
|
545
|
+
wantAssertionsSigned: boolean | undefined;
|
|
546
|
+
identifierFormat: string | undefined;
|
|
547
|
+
signatureAlgorithm: string | undefined;
|
|
548
|
+
digestAlgorithm: string | undefined;
|
|
549
|
+
certificate: {
|
|
550
|
+
fingerprintSha256: string;
|
|
551
|
+
notBefore: string;
|
|
552
|
+
notAfter: string;
|
|
553
|
+
publicKeyAlgorithm: string;
|
|
554
|
+
} | {
|
|
555
|
+
error: string;
|
|
556
|
+
};
|
|
557
|
+
} | undefined;
|
|
558
|
+
spMetadataUrl: string;
|
|
559
|
+
}[];
|
|
560
|
+
}>;
|
|
561
|
+
declare const getSSOProvider: () => better_call0.StrictEndpoint<"/sso/providers/:providerId", {
|
|
562
|
+
method: "GET";
|
|
563
|
+
use: ((inputContext: better_call0.MiddlewareInputContext<better_call0.MiddlewareOptions>) => Promise<{
|
|
564
|
+
session: {
|
|
565
|
+
session: Record<string, any> & {
|
|
566
|
+
id: string;
|
|
567
|
+
createdAt: Date;
|
|
568
|
+
updatedAt: Date;
|
|
569
|
+
userId: string;
|
|
570
|
+
expiresAt: Date;
|
|
571
|
+
token: string;
|
|
572
|
+
ipAddress?: string | null | undefined;
|
|
573
|
+
userAgent?: string | null | undefined;
|
|
574
|
+
};
|
|
575
|
+
user: Record<string, any> & {
|
|
576
|
+
id: string;
|
|
577
|
+
createdAt: Date;
|
|
578
|
+
updatedAt: Date;
|
|
579
|
+
email: string;
|
|
580
|
+
emailVerified: boolean;
|
|
581
|
+
name: string;
|
|
582
|
+
image?: string | null | undefined;
|
|
583
|
+
};
|
|
584
|
+
};
|
|
585
|
+
}>)[];
|
|
586
|
+
params: z.ZodObject<{
|
|
587
|
+
providerId: z.ZodString;
|
|
588
|
+
}, z.core.$strip>;
|
|
589
|
+
metadata: {
|
|
590
|
+
openapi: {
|
|
591
|
+
operationId: string;
|
|
592
|
+
summary: string;
|
|
593
|
+
description: string;
|
|
594
|
+
responses: {
|
|
595
|
+
"200": {
|
|
596
|
+
description: string;
|
|
597
|
+
};
|
|
598
|
+
"404": {
|
|
599
|
+
description: string;
|
|
600
|
+
};
|
|
601
|
+
"403": {
|
|
602
|
+
description: string;
|
|
603
|
+
};
|
|
604
|
+
};
|
|
605
|
+
};
|
|
606
|
+
};
|
|
607
|
+
}, {
|
|
608
|
+
providerId: string;
|
|
609
|
+
type: string;
|
|
610
|
+
issuer: string;
|
|
611
|
+
domain: string;
|
|
612
|
+
organizationId: string | null;
|
|
613
|
+
domainVerified: boolean;
|
|
614
|
+
oidcConfig: {
|
|
615
|
+
discoveryEndpoint: string;
|
|
616
|
+
clientIdLastFour: string;
|
|
617
|
+
pkce: boolean;
|
|
618
|
+
authorizationEndpoint: string | undefined;
|
|
619
|
+
tokenEndpoint: string | undefined;
|
|
620
|
+
userInfoEndpoint: string | undefined;
|
|
621
|
+
jwksEndpoint: string | undefined;
|
|
622
|
+
scopes: string[] | undefined;
|
|
623
|
+
tokenEndpointAuthentication: "client_secret_post" | "client_secret_basic" | undefined;
|
|
624
|
+
} | undefined;
|
|
625
|
+
samlConfig: {
|
|
626
|
+
entryPoint: string;
|
|
627
|
+
callbackUrl: string;
|
|
628
|
+
audience: string | undefined;
|
|
629
|
+
wantAssertionsSigned: boolean | undefined;
|
|
630
|
+
identifierFormat: string | undefined;
|
|
631
|
+
signatureAlgorithm: string | undefined;
|
|
632
|
+
digestAlgorithm: string | undefined;
|
|
633
|
+
certificate: {
|
|
634
|
+
fingerprintSha256: string;
|
|
635
|
+
notBefore: string;
|
|
636
|
+
notAfter: string;
|
|
637
|
+
publicKeyAlgorithm: string;
|
|
638
|
+
} | {
|
|
639
|
+
error: string;
|
|
640
|
+
};
|
|
641
|
+
} | undefined;
|
|
642
|
+
spMetadataUrl: string;
|
|
643
|
+
}>;
|
|
644
|
+
declare const updateSSOProvider: (options: SSOOptions) => better_call0.StrictEndpoint<"/sso/providers/:providerId", {
|
|
645
|
+
method: "PATCH";
|
|
646
|
+
use: ((inputContext: better_call0.MiddlewareInputContext<better_call0.MiddlewareOptions>) => Promise<{
|
|
647
|
+
session: {
|
|
648
|
+
session: Record<string, any> & {
|
|
649
|
+
id: string;
|
|
650
|
+
createdAt: Date;
|
|
651
|
+
updatedAt: Date;
|
|
652
|
+
userId: string;
|
|
653
|
+
expiresAt: Date;
|
|
654
|
+
token: string;
|
|
655
|
+
ipAddress?: string | null | undefined;
|
|
656
|
+
userAgent?: string | null | undefined;
|
|
657
|
+
};
|
|
658
|
+
user: Record<string, any> & {
|
|
659
|
+
id: string;
|
|
660
|
+
createdAt: Date;
|
|
661
|
+
updatedAt: Date;
|
|
662
|
+
email: string;
|
|
663
|
+
emailVerified: boolean;
|
|
664
|
+
name: string;
|
|
665
|
+
image?: string | null | undefined;
|
|
666
|
+
};
|
|
667
|
+
};
|
|
668
|
+
}>)[];
|
|
669
|
+
params: z.ZodObject<{
|
|
670
|
+
providerId: z.ZodString;
|
|
671
|
+
}, z.core.$strip>;
|
|
672
|
+
body: z.ZodObject<{
|
|
673
|
+
issuer: z.ZodOptional<z.ZodString>;
|
|
674
|
+
domain: z.ZodOptional<z.ZodString>;
|
|
675
|
+
oidcConfig: z.ZodOptional<z.ZodObject<{
|
|
676
|
+
clientId: z.ZodOptional<z.ZodString>;
|
|
677
|
+
clientSecret: z.ZodOptional<z.ZodString>;
|
|
678
|
+
authorizationEndpoint: z.ZodOptional<z.ZodString>;
|
|
679
|
+
tokenEndpoint: z.ZodOptional<z.ZodString>;
|
|
680
|
+
userInfoEndpoint: z.ZodOptional<z.ZodString>;
|
|
681
|
+
tokenEndpointAuthentication: z.ZodOptional<z.ZodEnum<{
|
|
682
|
+
client_secret_post: "client_secret_post";
|
|
683
|
+
client_secret_basic: "client_secret_basic";
|
|
684
|
+
}>>;
|
|
685
|
+
jwksEndpoint: z.ZodOptional<z.ZodString>;
|
|
686
|
+
discoveryEndpoint: z.ZodOptional<z.ZodString>;
|
|
687
|
+
scopes: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
688
|
+
pkce: z.ZodOptional<z.ZodBoolean>;
|
|
689
|
+
overrideUserInfo: z.ZodOptional<z.ZodBoolean>;
|
|
690
|
+
mapping: z.ZodOptional<z.ZodObject<{
|
|
691
|
+
id: z.ZodOptional<z.ZodString>;
|
|
692
|
+
email: z.ZodOptional<z.ZodString>;
|
|
693
|
+
emailVerified: z.ZodOptional<z.ZodString>;
|
|
694
|
+
name: z.ZodOptional<z.ZodString>;
|
|
695
|
+
image: z.ZodOptional<z.ZodString>;
|
|
696
|
+
extraFields: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
|
|
697
|
+
}, z.core.$strip>>;
|
|
698
|
+
}, z.core.$strip>>;
|
|
699
|
+
samlConfig: z.ZodOptional<z.ZodObject<{
|
|
700
|
+
entryPoint: z.ZodOptional<z.ZodString>;
|
|
701
|
+
cert: z.ZodOptional<z.ZodString>;
|
|
702
|
+
callbackUrl: z.ZodOptional<z.ZodString>;
|
|
703
|
+
audience: z.ZodOptional<z.ZodString>;
|
|
704
|
+
idpMetadata: z.ZodOptional<z.ZodObject<{
|
|
705
|
+
metadata: z.ZodOptional<z.ZodString>;
|
|
706
|
+
entityID: z.ZodOptional<z.ZodString>;
|
|
707
|
+
cert: z.ZodOptional<z.ZodString>;
|
|
708
|
+
privateKey: z.ZodOptional<z.ZodString>;
|
|
709
|
+
privateKeyPass: z.ZodOptional<z.ZodString>;
|
|
710
|
+
isAssertionEncrypted: z.ZodOptional<z.ZodBoolean>;
|
|
711
|
+
encPrivateKey: z.ZodOptional<z.ZodString>;
|
|
712
|
+
encPrivateKeyPass: z.ZodOptional<z.ZodString>;
|
|
713
|
+
singleSignOnService: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
714
|
+
Binding: z.ZodString;
|
|
715
|
+
Location: z.ZodString;
|
|
716
|
+
}, z.core.$strip>>>;
|
|
717
|
+
}, z.core.$strip>>;
|
|
718
|
+
spMetadata: z.ZodOptional<z.ZodObject<{
|
|
719
|
+
metadata: z.ZodOptional<z.ZodString>;
|
|
720
|
+
entityID: z.ZodOptional<z.ZodString>;
|
|
721
|
+
binding: z.ZodOptional<z.ZodString>;
|
|
722
|
+
privateKey: z.ZodOptional<z.ZodString>;
|
|
723
|
+
privateKeyPass: z.ZodOptional<z.ZodString>;
|
|
724
|
+
isAssertionEncrypted: z.ZodOptional<z.ZodBoolean>;
|
|
725
|
+
encPrivateKey: z.ZodOptional<z.ZodString>;
|
|
726
|
+
encPrivateKeyPass: z.ZodOptional<z.ZodString>;
|
|
727
|
+
}, z.core.$strip>>;
|
|
728
|
+
wantAssertionsSigned: z.ZodOptional<z.ZodBoolean>;
|
|
729
|
+
signatureAlgorithm: z.ZodOptional<z.ZodString>;
|
|
730
|
+
digestAlgorithm: z.ZodOptional<z.ZodString>;
|
|
731
|
+
identifierFormat: z.ZodOptional<z.ZodString>;
|
|
732
|
+
privateKey: z.ZodOptional<z.ZodString>;
|
|
733
|
+
decryptionPvk: z.ZodOptional<z.ZodString>;
|
|
734
|
+
additionalParams: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
|
|
735
|
+
mapping: z.ZodOptional<z.ZodObject<{
|
|
736
|
+
id: z.ZodOptional<z.ZodString>;
|
|
737
|
+
email: z.ZodOptional<z.ZodString>;
|
|
738
|
+
emailVerified: z.ZodOptional<z.ZodString>;
|
|
739
|
+
name: z.ZodOptional<z.ZodString>;
|
|
740
|
+
firstName: z.ZodOptional<z.ZodString>;
|
|
741
|
+
lastName: z.ZodOptional<z.ZodString>;
|
|
742
|
+
extraFields: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
|
|
743
|
+
}, z.core.$strip>>;
|
|
744
|
+
}, z.core.$strip>>;
|
|
745
|
+
}, z.core.$strip>;
|
|
746
|
+
metadata: {
|
|
747
|
+
openapi: {
|
|
748
|
+
operationId: string;
|
|
749
|
+
summary: string;
|
|
750
|
+
description: string;
|
|
751
|
+
responses: {
|
|
752
|
+
"200": {
|
|
753
|
+
description: string;
|
|
754
|
+
};
|
|
755
|
+
"404": {
|
|
756
|
+
description: string;
|
|
757
|
+
};
|
|
758
|
+
"403": {
|
|
759
|
+
description: string;
|
|
760
|
+
};
|
|
761
|
+
};
|
|
762
|
+
};
|
|
763
|
+
};
|
|
764
|
+
}, {
|
|
765
|
+
providerId: string;
|
|
766
|
+
type: string;
|
|
767
|
+
issuer: string;
|
|
768
|
+
domain: string;
|
|
769
|
+
organizationId: string | null;
|
|
770
|
+
domainVerified: boolean;
|
|
771
|
+
oidcConfig: {
|
|
772
|
+
discoveryEndpoint: string;
|
|
773
|
+
clientIdLastFour: string;
|
|
774
|
+
pkce: boolean;
|
|
775
|
+
authorizationEndpoint: string | undefined;
|
|
776
|
+
tokenEndpoint: string | undefined;
|
|
777
|
+
userInfoEndpoint: string | undefined;
|
|
778
|
+
jwksEndpoint: string | undefined;
|
|
779
|
+
scopes: string[] | undefined;
|
|
780
|
+
tokenEndpointAuthentication: "client_secret_post" | "client_secret_basic" | undefined;
|
|
781
|
+
} | undefined;
|
|
782
|
+
samlConfig: {
|
|
783
|
+
entryPoint: string;
|
|
784
|
+
callbackUrl: string;
|
|
785
|
+
audience: string | undefined;
|
|
786
|
+
wantAssertionsSigned: boolean | undefined;
|
|
787
|
+
identifierFormat: string | undefined;
|
|
788
|
+
signatureAlgorithm: string | undefined;
|
|
789
|
+
digestAlgorithm: string | undefined;
|
|
790
|
+
certificate: {
|
|
791
|
+
fingerprintSha256: string;
|
|
792
|
+
notBefore: string;
|
|
793
|
+
notAfter: string;
|
|
794
|
+
publicKeyAlgorithm: string;
|
|
795
|
+
} | {
|
|
796
|
+
error: string;
|
|
797
|
+
};
|
|
798
|
+
} | undefined;
|
|
799
|
+
spMetadataUrl: string;
|
|
800
|
+
}>;
|
|
801
|
+
declare const deleteSSOProvider: () => better_call0.StrictEndpoint<"/sso/providers/:providerId", {
|
|
802
|
+
method: "DELETE";
|
|
803
|
+
use: ((inputContext: better_call0.MiddlewareInputContext<better_call0.MiddlewareOptions>) => Promise<{
|
|
804
|
+
session: {
|
|
805
|
+
session: Record<string, any> & {
|
|
806
|
+
id: string;
|
|
807
|
+
createdAt: Date;
|
|
808
|
+
updatedAt: Date;
|
|
809
|
+
userId: string;
|
|
810
|
+
expiresAt: Date;
|
|
811
|
+
token: string;
|
|
812
|
+
ipAddress?: string | null | undefined;
|
|
813
|
+
userAgent?: string | null | undefined;
|
|
814
|
+
};
|
|
815
|
+
user: Record<string, any> & {
|
|
816
|
+
id: string;
|
|
817
|
+
createdAt: Date;
|
|
818
|
+
updatedAt: Date;
|
|
819
|
+
email: string;
|
|
820
|
+
emailVerified: boolean;
|
|
821
|
+
name: string;
|
|
822
|
+
image?: string | null | undefined;
|
|
823
|
+
};
|
|
824
|
+
};
|
|
825
|
+
}>)[];
|
|
826
|
+
params: z.ZodObject<{
|
|
827
|
+
providerId: z.ZodString;
|
|
828
|
+
}, z.core.$strip>;
|
|
829
|
+
metadata: {
|
|
830
|
+
openapi: {
|
|
831
|
+
operationId: string;
|
|
832
|
+
summary: string;
|
|
833
|
+
description: string;
|
|
834
|
+
responses: {
|
|
835
|
+
"200": {
|
|
836
|
+
description: string;
|
|
837
|
+
};
|
|
838
|
+
"404": {
|
|
839
|
+
description: string;
|
|
840
|
+
};
|
|
841
|
+
"403": {
|
|
842
|
+
description: string;
|
|
843
|
+
};
|
|
844
|
+
};
|
|
845
|
+
};
|
|
846
|
+
};
|
|
847
|
+
}, {
|
|
848
|
+
success: boolean;
|
|
849
|
+
}>;
|
|
850
|
+
//#endregion
|
|
484
851
|
//#region src/routes/sso.d.ts
|
|
485
852
|
interface TimestampValidationOptions {
|
|
486
853
|
clockSkew?: number;
|
|
@@ -917,11 +1284,14 @@ declare const callbackSSO: (options?: SSOOptions) => better_call0.StrictEndpoint
|
|
|
917
1284
|
};
|
|
918
1285
|
}, never>;
|
|
919
1286
|
declare const callbackSSOSAML: (options?: SSOOptions) => better_call0.StrictEndpoint<"/sso/saml2/callback/:providerId", {
|
|
920
|
-
method: "POST";
|
|
921
|
-
body: z.ZodObject<{
|
|
1287
|
+
method: ("POST" | "GET")[];
|
|
1288
|
+
body: z.ZodOptional<z.ZodObject<{
|
|
922
1289
|
SAMLResponse: z.ZodString;
|
|
923
1290
|
RelayState: z.ZodOptional<z.ZodString>;
|
|
924
|
-
}, z.core.$strip
|
|
1291
|
+
}, z.core.$strip>>;
|
|
1292
|
+
query: z.ZodOptional<z.ZodObject<{
|
|
1293
|
+
RelayState: z.ZodOptional<z.ZodString>;
|
|
1294
|
+
}, z.core.$strip>>;
|
|
925
1295
|
metadata: {
|
|
926
1296
|
allowedMediaTypes: string[];
|
|
927
1297
|
openapi: {
|
|
@@ -945,9 +1315,6 @@ declare const callbackSSOSAML: (options?: SSOOptions) => better_call0.StrictEndp
|
|
|
945
1315
|
}, never>;
|
|
946
1316
|
declare const acsEndpoint: (options?: SSOOptions) => better_call0.StrictEndpoint<"/sso/saml2/sp/acs/:providerId", {
|
|
947
1317
|
method: "POST";
|
|
948
|
-
params: z.ZodObject<{
|
|
949
|
-
providerId: z.ZodOptional<z.ZodString>;
|
|
950
|
-
}, z.core.$strip>;
|
|
951
1318
|
body: z.ZodObject<{
|
|
952
1319
|
SAMLResponse: z.ZodString;
|
|
953
1320
|
RelayState: z.ZodOptional<z.ZodString>;
|
|
@@ -1260,6 +1627,10 @@ type SSOEndpoints<O extends SSOOptions> = {
|
|
|
1260
1627
|
callbackSSO: ReturnType<typeof callbackSSO>;
|
|
1261
1628
|
callbackSSOSAML: ReturnType<typeof callbackSSOSAML>;
|
|
1262
1629
|
acsEndpoint: ReturnType<typeof acsEndpoint>;
|
|
1630
|
+
listSSOProviders: ReturnType<typeof listSSOProviders>;
|
|
1631
|
+
getSSOProvider: ReturnType<typeof getSSOProvider>;
|
|
1632
|
+
updateSSOProvider: ReturnType<typeof updateSSOProvider>;
|
|
1633
|
+
deleteSSOProvider: ReturnType<typeof deleteSSOProvider>;
|
|
1263
1634
|
};
|
|
1264
1635
|
type SSOPlugin<O extends SSOOptions> = {
|
|
1265
1636
|
id: "sso";
|
|
@@ -1276,7 +1647,7 @@ declare function sso<O extends SSOOptions & {
|
|
|
1276
1647
|
}>(options?: O | undefined): {
|
|
1277
1648
|
id: "sso";
|
|
1278
1649
|
endpoints: SSOEndpoints<O> & DomainVerificationEndpoints;
|
|
1279
|
-
schema:
|
|
1650
|
+
schema: NonNullable<BetterAuthPlugin["schema"]>;
|
|
1280
1651
|
options: O;
|
|
1281
1652
|
};
|
|
1282
1653
|
declare function sso<O extends SSOOptions>(options?: O | undefined): {
|
|
@@ -1284,4 +1655,5 @@ declare function sso<O extends SSOOptions>(options?: O | undefined): {
|
|
|
1284
1655
|
endpoints: SSOEndpoints<O>;
|
|
1285
1656
|
};
|
|
1286
1657
|
//#endregion
|
|
1287
|
-
export { DataEncryptionAlgorithm as A, TimestampValidationOptions as C, SSOOptions as D, SAMLConfig as E, DigestAlgorithm as M, KeyEncryptionAlgorithm as N, SSOProvider as O, SignatureAlgorithm as P, SAMLConditions as S, OIDCConfig as T, REQUIRED_DISCOVERY_FIELDS as _, fetchDiscoveryDocument as a, DEFAULT_MAX_SAML_METADATA_SIZE as b, normalizeUrl as c, validateDiscoveryUrl as d, DiscoverOIDCConfigParams as f, OIDCDiscoveryDocument as g, HydratedOIDCConfig as h, discoverOIDCConfig as i, DeprecatedAlgorithmBehavior as j, AlgorithmValidationOptions 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, validateSAMLTimestamp as w, DEFAULT_MAX_SAML_RESPONSE_SIZE as x, DEFAULT_CLOCK_SKEW_MS as y };
|
|
1658
|
+
export { DataEncryptionAlgorithm as A, TimestampValidationOptions as C, SSOOptions as D, SAMLConfig as E, DigestAlgorithm as M, KeyEncryptionAlgorithm as N, SSOProvider as O, SignatureAlgorithm as P, SAMLConditions as S, OIDCConfig as T, REQUIRED_DISCOVERY_FIELDS as _, fetchDiscoveryDocument as a, DEFAULT_MAX_SAML_METADATA_SIZE as b, normalizeUrl as c, validateDiscoveryUrl as d, DiscoverOIDCConfigParams as f, OIDCDiscoveryDocument as g, HydratedOIDCConfig as h, discoverOIDCConfig as i, DeprecatedAlgorithmBehavior as j, AlgorithmValidationOptions 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, validateSAMLTimestamp as w, DEFAULT_MAX_SAML_RESPONSE_SIZE as x, DEFAULT_CLOCK_SKEW_MS as y };
|
|
1659
|
+
//# sourceMappingURL=index-C4nbdf2g.d.mts.map
|
package/dist/index.d.mts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { A as DataEncryptionAlgorithm, C as TimestampValidationOptions, D as SSOOptions, E as SAMLConfig, M as DigestAlgorithm, N as KeyEncryptionAlgorithm, O as SSOProvider, P as SignatureAlgorithm, S as SAMLConditions, T as OIDCConfig, _ as REQUIRED_DISCOVERY_FIELDS, a as fetchDiscoveryDocument, b as DEFAULT_MAX_SAML_METADATA_SIZE, c as normalizeUrl, d as validateDiscoveryUrl, f as DiscoverOIDCConfigParams, g as OIDCDiscoveryDocument, h as HydratedOIDCConfig, i as discoverOIDCConfig, j as DeprecatedAlgorithmBehavior, k as AlgorithmValidationOptions, 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 validateSAMLTimestamp, x as DEFAULT_MAX_SAML_RESPONSE_SIZE, y as DEFAULT_CLOCK_SKEW_MS } from "./index-
|
|
1
|
+
import { A as DataEncryptionAlgorithm, C as TimestampValidationOptions, D as SSOOptions, E as SAMLConfig, M as DigestAlgorithm, N as KeyEncryptionAlgorithm, O as SSOProvider, P as SignatureAlgorithm, S as SAMLConditions, T as OIDCConfig, _ as REQUIRED_DISCOVERY_FIELDS, a as fetchDiscoveryDocument, b as DEFAULT_MAX_SAML_METADATA_SIZE, c as normalizeUrl, d as validateDiscoveryUrl, f as DiscoverOIDCConfigParams, g as OIDCDiscoveryDocument, h as HydratedOIDCConfig, i as discoverOIDCConfig, j as DeprecatedAlgorithmBehavior, k as AlgorithmValidationOptions, 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 validateSAMLTimestamp, x as DEFAULT_MAX_SAML_RESPONSE_SIZE, y as DEFAULT_CLOCK_SKEW_MS } from "./index-C4nbdf2g.mjs";
|
|
2
2
|
export { AlgorithmValidationOptions, DEFAULT_CLOCK_SKEW_MS, DEFAULT_MAX_SAML_METADATA_SIZE, DEFAULT_MAX_SAML_RESPONSE_SIZE, 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 };
|