@better-auth/sso 1.4.0-beta.24 → 1.4.0-beta.27
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
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
|
|
2
|
-
> @better-auth/sso@1.4.0-beta.
|
|
2
|
+
> @better-auth/sso@1.4.0-beta.27 build /home/runner/work/better-auth/better-auth/packages/sso
|
|
3
3
|
> tsdown
|
|
4
4
|
|
|
5
5
|
[34mℹ[39m tsdown [2mv0.16.5[22m powered by rolldown [2mv1.0.0-beta.50[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 [2m58.49 kB[22m [2m│ gzip: 10.33 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[1mclient.d.mts[22m[39m [2m 0.49 kB[22m [2m│ gzip: 0.
|
|
12
|
+
[34mℹ[39m [2mdist/[22m[32m[1mclient.d.mts[22m[39m [2m 0.49 kB[22m [2m│ gzip: 0.30 kB[22m
|
|
13
13
|
[34mℹ[39m [2mdist/[22m[32m[1mindex.d.mts[22m[39m [2m 0.21 kB[22m [2m│ gzip: 0.15 kB[22m
|
|
14
|
-
[34mℹ[39m [2mdist/[22m[32mindex-
|
|
15
|
-
[34mℹ[39m 5 files, total: 84.
|
|
16
|
-
[32m✔[39m Build complete in [
|
|
14
|
+
[34mℹ[39m [2mdist/[22m[32mindex-D-JmJR9N.d.mts[39m [2m25.42 kB[22m [2m│ gzip: 3.95 kB[22m
|
|
15
|
+
[34mℹ[39m 5 files, total: 84.77 kB
|
|
16
|
+
[32m✔[39m Build complete in [32m11560ms[39m
|
package/dist/client.d.mts
CHANGED
|
@@ -743,7 +743,7 @@ declare const callbackSSO: (options?: SSOOptions) => better_call0.StrictEndpoint
|
|
|
743
743
|
}, z.core.$strip>;
|
|
744
744
|
allowedMediaTypes: string[];
|
|
745
745
|
metadata: {
|
|
746
|
-
isAction:
|
|
746
|
+
isAction: false;
|
|
747
747
|
openapi: {
|
|
748
748
|
operationId: string;
|
|
749
749
|
summary: string;
|
|
@@ -765,7 +765,8 @@ declare const callbackSSOSAML: (options?: SSOOptions) => better_call0.StrictEndp
|
|
|
765
765
|
RelayState: z.ZodOptional<z.ZodString>;
|
|
766
766
|
}, z.core.$strip>;
|
|
767
767
|
metadata: {
|
|
768
|
-
isAction:
|
|
768
|
+
isAction: false;
|
|
769
|
+
allowedMediaTypes: string[];
|
|
769
770
|
openapi: {
|
|
770
771
|
operationId: string;
|
|
771
772
|
summary: string;
|
|
@@ -796,7 +797,7 @@ declare const acsEndpoint: (options?: SSOOptions) => better_call0.StrictEndpoint
|
|
|
796
797
|
RelayState: z.ZodOptional<z.ZodString>;
|
|
797
798
|
}, z.core.$strip>;
|
|
798
799
|
metadata: {
|
|
799
|
-
isAction:
|
|
800
|
+
isAction: false;
|
|
800
801
|
allowedMediaTypes: string[];
|
|
801
802
|
openapi: {
|
|
802
803
|
operationId: string;
|
package/dist/index.d.mts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { a as SSOOptions, i as SAMLConfig, n as sso, o as SSOProvider, r as OIDCConfig, t as SSOPlugin } from "./index-
|
|
1
|
+
import { a as SSOOptions, i as SAMLConfig, n as sso, o as SSOProvider, r as OIDCConfig, t as SSOPlugin } from "./index-D-JmJR9N.mjs";
|
|
2
2
|
export { OIDCConfig, SAMLConfig, SSOOptions, SSOPlugin, SSOProvider, sso };
|
package/dist/index.mjs
CHANGED
|
@@ -751,8 +751,18 @@ const signInSSO = (options) => {
|
|
|
751
751
|
if (provider.samlConfig) {
|
|
752
752
|
const parsedSamlConfig = typeof provider.samlConfig === "object" ? provider.samlConfig : safeJsonParse(provider.samlConfig);
|
|
753
753
|
if (!parsedSamlConfig) throw new APIError("BAD_REQUEST", { message: "Invalid SAML configuration" });
|
|
754
|
+
let metadata = parsedSamlConfig.spMetadata.metadata;
|
|
755
|
+
if (!metadata) metadata = saml.SPMetadata({
|
|
756
|
+
entityID: parsedSamlConfig.spMetadata?.entityID || parsedSamlConfig.issuer,
|
|
757
|
+
assertionConsumerService: [{
|
|
758
|
+
Binding: "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST",
|
|
759
|
+
Location: parsedSamlConfig.callbackUrl || `${ctx.context.baseURL}/sso/saml2/sp/acs/${provider.providerId}`
|
|
760
|
+
}],
|
|
761
|
+
wantMessageSigned: parsedSamlConfig.wantAssertionsSigned || false,
|
|
762
|
+
nameIDFormat: parsedSamlConfig.identifierFormat ? [parsedSamlConfig.identifierFormat] : void 0
|
|
763
|
+
}).getMetadata() || "";
|
|
754
764
|
const sp = saml.ServiceProvider({
|
|
755
|
-
metadata
|
|
765
|
+
metadata,
|
|
756
766
|
allowCreate: true
|
|
757
767
|
});
|
|
758
768
|
const idp = saml.IdentityProvider({
|
|
@@ -965,6 +975,7 @@ const callbackSSOSAML = (options) => {
|
|
|
965
975
|
}),
|
|
966
976
|
metadata: {
|
|
967
977
|
isAction: false,
|
|
978
|
+
allowedMediaTypes: ["application/x-www-form-urlencoded", "application/json"],
|
|
968
979
|
openapi: {
|
|
969
980
|
operationId: "handleSAMLCallback",
|
|
970
981
|
summary: "Callback URL for SAML provider",
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@better-auth/sso",
|
|
3
3
|
"author": "Bereket Engida",
|
|
4
|
-
"version": "1.4.0-beta.
|
|
4
|
+
"version": "1.4.0-beta.27",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.mjs",
|
|
7
7
|
"homepage": "https://www.better-auth.com/docs/plugins/sso",
|
|
@@ -60,15 +60,15 @@
|
|
|
60
60
|
"devDependencies": {
|
|
61
61
|
"@types/body-parser": "^1.19.6",
|
|
62
62
|
"@types/express": "^5.0.5",
|
|
63
|
-
"better-call": "1.0
|
|
63
|
+
"better-call": "1.1.0",
|
|
64
64
|
"body-parser": "^2.2.0",
|
|
65
65
|
"express": "^5.1.0",
|
|
66
66
|
"oauth2-mock-server": "^7.2.1",
|
|
67
67
|
"tsdown": "^0.16.0",
|
|
68
|
-
"better-auth": "1.4.0-beta.
|
|
68
|
+
"better-auth": "1.4.0-beta.27"
|
|
69
69
|
},
|
|
70
70
|
"peerDependencies": {
|
|
71
|
-
"better-auth": "1.4.0-beta.
|
|
71
|
+
"better-auth": "1.4.0-beta.27"
|
|
72
72
|
},
|
|
73
73
|
"scripts": {
|
|
74
74
|
"test": "vitest",
|
package/src/routes/sso.ts
CHANGED
|
@@ -1039,8 +1039,35 @@ export const signInSSO = (options?: SSOOptions) => {
|
|
|
1039
1039
|
message: "Invalid SAML configuration",
|
|
1040
1040
|
});
|
|
1041
1041
|
}
|
|
1042
|
+
|
|
1043
|
+
let metadata = parsedSamlConfig.spMetadata.metadata;
|
|
1044
|
+
|
|
1045
|
+
if (!metadata) {
|
|
1046
|
+
metadata =
|
|
1047
|
+
saml
|
|
1048
|
+
.SPMetadata({
|
|
1049
|
+
entityID:
|
|
1050
|
+
parsedSamlConfig.spMetadata?.entityID ||
|
|
1051
|
+
parsedSamlConfig.issuer,
|
|
1052
|
+
assertionConsumerService: [
|
|
1053
|
+
{
|
|
1054
|
+
Binding: "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST",
|
|
1055
|
+
Location:
|
|
1056
|
+
parsedSamlConfig.callbackUrl ||
|
|
1057
|
+
`${ctx.context.baseURL}/sso/saml2/sp/acs/${provider.providerId}`,
|
|
1058
|
+
},
|
|
1059
|
+
],
|
|
1060
|
+
wantMessageSigned:
|
|
1061
|
+
parsedSamlConfig.wantAssertionsSigned || false,
|
|
1062
|
+
nameIDFormat: parsedSamlConfig.identifierFormat
|
|
1063
|
+
? [parsedSamlConfig.identifierFormat]
|
|
1064
|
+
: undefined,
|
|
1065
|
+
})
|
|
1066
|
+
.getMetadata() || "";
|
|
1067
|
+
}
|
|
1068
|
+
|
|
1042
1069
|
const sp = saml.ServiceProvider({
|
|
1043
|
-
metadata:
|
|
1070
|
+
metadata: metadata,
|
|
1044
1071
|
allowCreate: true,
|
|
1045
1072
|
});
|
|
1046
1073
|
|
|
@@ -1452,6 +1479,10 @@ export const callbackSSOSAML = (options?: SSOOptions) => {
|
|
|
1452
1479
|
}),
|
|
1453
1480
|
metadata: {
|
|
1454
1481
|
isAction: false,
|
|
1482
|
+
allowedMediaTypes: [
|
|
1483
|
+
"application/x-www-form-urlencoded",
|
|
1484
|
+
"application/json",
|
|
1485
|
+
],
|
|
1455
1486
|
openapi: {
|
|
1456
1487
|
operationId: "handleSAMLCallback",
|
|
1457
1488
|
summary: "Callback URL for SAML provider",
|