kenny-login 0.0.3 → 0.0.4-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/dist/actions/strapiSignInActions.d.ts +3 -0
- package/dist/actions/strapiSignInActions.d.ts.map +1 -0
- package/dist/actions/strapiSignInActions.js +20 -0
- package/dist/actions/strapiSignInActions.js.map +1 -0
- package/dist/components/signInForm.d.ts +8 -0
- package/dist/components/signInForm.d.ts.map +1 -0
- package/dist/components/signInForm.jsx +48 -0
- package/dist/components/signInForm.jsx.map +1 -0
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/strapiAuth.d.ts +5 -1
- package/dist/strapiAuth.d.ts.map +1 -1
- package/dist/strapiAuth.js +37 -8
- package/dist/strapiAuth.js.map +1 -1
- package/dist/utils/enabledProviders.d.ts +2 -0
- package/dist/utils/enabledProviders.d.ts.map +1 -0
- package/dist/utils/enabledProviders.js +18 -0
- package/dist/utils/enabledProviders.js.map +1 -0
- package/package.json +1 -1
- package/types/next-auth.d.ts +19 -0
- package/dist/auth.d.ts +0 -15
- package/dist/auth.d.ts.map +0 -1
- package/dist/auth.js +0 -72
- package/dist/auth.js.map +0 -1
- package/dist/components/signin-form.d.ts +0 -2
- package/dist/components/signin-form.d.ts.map +0 -1
- package/dist/components/signin-form.jsx +0 -29
- package/dist/components/signin-form.jsx.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"strapiSignInActions.d.ts","sourceRoot":"","sources":["../../src/actions/strapiSignInActions.ts"],"names":[],"mappings":"AAGA,wBAAsB,kBAAkB,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,SAAM,iBAE7E;AAED,wBAAsB,qBAAqB,CAAC,QAAQ,EAAE,QAAQ,EAAE,WAAW,SAAM,iBAehF"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use server";
|
|
2
|
+
import { signIn as serverSignIn } from "../strapiAuth";
|
|
3
|
+
export async function signInWithProvider(providerId, callbackUrl = "/") {
|
|
4
|
+
await serverSignIn(providerId, { redirectTo: callbackUrl });
|
|
5
|
+
}
|
|
6
|
+
export async function signInWithCredentials(formData, callbackUrl = "/") {
|
|
7
|
+
const email = formData.get("email");
|
|
8
|
+
const password = formData.get("password");
|
|
9
|
+
if (!email || !password) {
|
|
10
|
+
throw new Error("Email and password are required.");
|
|
11
|
+
}
|
|
12
|
+
await serverSignIn("credentials", {
|
|
13
|
+
redirectTo: callbackUrl,
|
|
14
|
+
credentials: {
|
|
15
|
+
email,
|
|
16
|
+
password
|
|
17
|
+
}
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=strapiSignInActions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"strapiSignInActions.js","sourceRoot":"","sources":["../../src/actions/strapiSignInActions.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AACb,OAAO,EAAE,MAAM,IAAI,YAAY,EAAE,MAAM,eAAe,CAAC;AAEvD,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,UAAkB,EAAE,WAAW,GAAG,GAAG;IAC5E,MAAM,YAAY,CAAC,UAAU,EAAE,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC,CAAC;AAC9D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,QAAkB,EAAE,WAAW,GAAG,GAAG;IAC/E,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAW,CAAC;IAC9C,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAW,CAAC;IAEpD,IAAI,CAAC,KAAK,IAAI,CAAC,QAAQ,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;IACtD,CAAC;IAED,MAAM,YAAY,CAAC,aAAa,EAAE;QAChC,UAAU,EAAE,WAAW;QACvB,WAAW,EAAE;YACX,KAAK;YACL,QAAQ;SACT;KACF,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"signInForm.d.ts","sourceRoot":"","sources":["../../src/components/signInForm.tsx"],"names":[],"mappings":"AAMA,wBAAgB,UAAU,CACxB,KAAK,EAAE;IACL,YAAY,EAAE;QAAE,WAAW,EAAE,MAAM,GAAG,SAAS,CAAA;KAAE,CAAC;IAClD,IAAI,EAAE,GAAG,CAAC;IACV,MAAM,EAAE,GAAG,CAAC;CACb,+BA4DF"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { getProviders } from "next-auth/react";
|
|
3
|
+
import { signInWithProvider, signInWithCredentials } from "../actions/strapiSignInActions";
|
|
4
|
+
import { useEffect, useState } from "react";
|
|
5
|
+
export function SignInForm(props) {
|
|
6
|
+
const [providers, setProviders] = useState({});
|
|
7
|
+
useEffect(() => {
|
|
8
|
+
async function fetchProviders() {
|
|
9
|
+
const provs = await getProviders();
|
|
10
|
+
console.log('providers ->', provs);
|
|
11
|
+
if (provs) {
|
|
12
|
+
setProviders(provs);
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
fetchProviders();
|
|
16
|
+
}, []);
|
|
17
|
+
return (<div className="kl-sign-in-form--wrapper">
|
|
18
|
+
<form id="signInForm" name="Sign In" className="kl-sign-in-form" action={async (formData) => { signInWithCredentials(formData, props.searchParams.callbackUrl); }}>
|
|
19
|
+
<title>Sign in</title>
|
|
20
|
+
<div className="kl-sign-in-form--field">
|
|
21
|
+
<label htmlFor="email">
|
|
22
|
+
{/* {credentials.email.label} */}
|
|
23
|
+
Email
|
|
24
|
+
</label>
|
|
25
|
+
{/* <input name="email" id="email" type={credentials.email.type} /> */}
|
|
26
|
+
<input name="email" id="email"></input>
|
|
27
|
+
</div>
|
|
28
|
+
<div className="kl-sign-in-form--field">
|
|
29
|
+
<label htmlFor="password">
|
|
30
|
+
{/* {credentials.password.label} */}
|
|
31
|
+
Password
|
|
32
|
+
</label>
|
|
33
|
+
{/* <input name="password" id="password" type={credentials.password.type} /> */}
|
|
34
|
+
<input name="password" id="password"></input>
|
|
35
|
+
</div>
|
|
36
|
+
<button type="submit" className="kl-sign-in-form--submit-button">
|
|
37
|
+
Sign In
|
|
38
|
+
</button>
|
|
39
|
+
</form>
|
|
40
|
+
|
|
41
|
+
{Object.values(providers).map((provider) => (<form className="kl-sign-in-form--providers-list" key={provider.id} action={async () => { signInWithProvider(provider.id, props.searchParams.callbackUrl); }}>
|
|
42
|
+
<button type="submit" className="kl-sign-in-form--provider-button">
|
|
43
|
+
Sign in with {provider.name}
|
|
44
|
+
</button>
|
|
45
|
+
</form>))}
|
|
46
|
+
</div>);
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=signInForm.jsx.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"signInForm.jsx","sourceRoot":"","sources":["../../src/components/signInForm.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AAC3F,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAE5C,MAAM,UAAU,UAAU,CACxB,KAIC;IAED,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAA+B,EAAE,CAAC,CAAC;IAE7E,SAAS,CAAC,GAAG,EAAE;QACb,KAAK,UAAU,cAAc;YAC3B,MAAM,KAAK,GAAG,MAAM,YAAY,EAAE,CAAC;YACnC,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;YACnC,IAAI,KAAK,EAAE,CAAC;gBACV,YAAY,CAAC,KAAK,CAAC,CAAC;YACtB,CAAC;QACH,CAAC;QACD,cAAc,EAAE,CAAC;IACnB,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,CACL,CAAC,GAAG,CAAC,SAAS,CAAC,0BAA0B,CACvC;MAAA,CAAC,IAAI,CACH,EAAE,CAAC,YAAY,CACf,IAAI,CAAC,SAAS,CACd,SAAS,CAAC,iBAAiB,CAC3B,MAAM,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,GAAE,qBAAqB,CAAC,QAAQ,EAAE,KAAK,CAAC,YAAY,CAAC,WAAW,CAAC,CAAA,CAAA,CAAC,CAAC,CAE9F;QAAA,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CACrB;QAAA,CAAC,GAAG,CAAC,SAAS,CAAC,wBAAwB,CACrC;UAAA,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CACpB;YAAA,CAAC,+BAA+B,CAChC;;UACF,EAAE,KAAK,CACP;UAAA,CAAC,qEAAqE,CACtE;UAAA,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,KAAK,CACxC;QAAA,EAAE,GAAG,CACL;QAAA,CAAC,GAAG,CAAC,SAAS,CAAC,wBAAwB,CACrC;UAAA,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CACvB;YAAA,CAAC,kCAAkC,CACnC;;UACF,EAAE,KAAK,CACP;UAAA,CAAC,8EAA8E,CAC/E;UAAA,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,KAAK,CAC9C;QAAA,EAAE,GAAG,CACL;QAAA,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,gCAAgC,CAC9D;;QACF,EAAE,MAAM,CACV;MAAA,EAAE,IAAI,CAEN;;MAAA,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAC1C,CAAC,IAAI,CACH,SAAS,CAAC,iCAAiC,CAC3C,GAAG,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CACjB,MAAM,CAAC,CAAC,KAAK,IAAI,EAAE,GAAE,kBAAkB,CAAC,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC,YAAY,CAAC,WAAW,CAAC,CAAA,CAAA,CAAC,CAAC,CAChF;gBAAA,CAAC,MAAM,CACL,IAAI,CAAC,QAAQ,CACb,SAAS,CAAC,kCAAkC,CAE5C;+BAAa,CAAC,QAAQ,CAAC,IAAI,CAC7B;gBAAA,EAAE,MAAM,CAChB;QAAA,EAAE,IAAI,CAAC,CACR,CAAC,CACJ;IAAA,EAAE,GAAG,CAAC,CACP,CAAA;AACH,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export { handlers as strapiHandlers, signIn as strapiSignIn, signOut as strapiSignOut, auth as strapiAuth } from "./strapiAuth";
|
|
2
|
-
export { SignInForm } from "./components/
|
|
2
|
+
export { SignInForm } from "./components/signInForm";
|
|
3
3
|
export { ApiClient } from "./utils/ApiClient";
|
|
4
|
+
export { EnabledProviders } from "./utils/enabledProviders";
|
|
4
5
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,IAAI,cAAc,EAAE,MAAM,IAAI,YAAY,EAAE,OAAO,IAAI,aAAa,EAAE,IAAI,IAAI,UAAU,EAAE,MAAM,cAAc,CAAC;AAEhI,OAAO,EAAE,UAAU,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,IAAI,cAAc,EAAE,MAAM,IAAI,YAAY,EAAE,OAAO,IAAI,aAAa,EAAE,IAAI,IAAI,UAAU,EAAE,MAAM,cAAc,CAAC;AAEhI,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
// NextAuth exports are exported as "strapi{export}" so that we can easily support additional API services
|
|
2
2
|
export { handlers as strapiHandlers, signIn as strapiSignIn, signOut as strapiSignOut, auth as strapiAuth } from "./strapiAuth";
|
|
3
|
-
export { SignInForm } from "./components/
|
|
3
|
+
export { SignInForm } from "./components/signInForm";
|
|
4
4
|
export { ApiClient } from "./utils/ApiClient";
|
|
5
|
+
export { EnabledProviders } from "./utils/enabledProviders";
|
|
5
6
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,0GAA0G;AAC1G,OAAO,EAAE,QAAQ,IAAI,cAAc,EAAE,MAAM,IAAI,YAAY,EAAE,OAAO,IAAI,aAAa,EAAE,IAAI,IAAI,UAAU,EAAE,MAAM,cAAc,CAAC;AAEhI,OAAO,EAAE,UAAU,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,0GAA0G;AAC1G,OAAO,EAAE,QAAQ,IAAI,cAAc,EAAE,MAAM,IAAI,YAAY,EAAE,OAAO,IAAI,aAAa,EAAE,IAAI,IAAI,UAAU,EAAE,MAAM,cAAc,CAAC;AAEhI,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC"}
|
package/dist/strapiAuth.d.ts
CHANGED
|
@@ -1,10 +1,14 @@
|
|
|
1
1
|
import { type NextAuthResult } from "next-auth";
|
|
2
|
+
export declare const providerMap: {
|
|
3
|
+
id: string;
|
|
4
|
+
name: string;
|
|
5
|
+
}[];
|
|
2
6
|
export declare const auth: NextAuthResult["auth"];
|
|
3
7
|
export declare const handlers: {
|
|
4
8
|
GET: (req: import("next/server").NextRequest) => Promise<Response>;
|
|
5
9
|
POST: (req: import("next/server").NextRequest) => Promise<Response>;
|
|
6
10
|
};
|
|
7
|
-
export declare const signIn: <P extends import("
|
|
11
|
+
export declare const signIn: <P extends import("next-auth/providers").ProviderId, R extends boolean = true>(provider?: P, options?: FormData | ({
|
|
8
12
|
redirectTo?: string;
|
|
9
13
|
redirect?: R;
|
|
10
14
|
} & Record<string, any>), authorizationParams?: string[][] | Record<string, string> | string | URLSearchParams) => Promise<R extends false ? any : never>;
|
package/dist/strapiAuth.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"strapiAuth.d.ts","sourceRoot":"","sources":["../src/strapiAuth.ts"],"names":[],"mappings":"AAAA,OAAiB,EAAE,KAAK,cAAc,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"strapiAuth.d.ts","sourceRoot":"","sources":["../src/strapiAuth.ts"],"names":[],"mappings":"AAAA,OAAiB,EAAE,KAAK,cAAc,EAAE,MAAM,WAAW,CAAC;AA2I1D,eAAO,MAAM,WAAW;;;GASgC,CAAC;AAEzD,eAAO,MAAM,IAAI,EAAG,cAAc,CAAC,MAAM,CAAuB,CAAC;AACjE,eAAO,MAAM,QAAQ;;;CAA0B,CAAC;AAChD,eAAO,MAAM,MAAM;cAEgvK,CAAC;YAAyJ,CAAC;yJAFn3K,CAAC;AAC5C,eAAO,MAAM,OAAO;cAC+/M,CAAC;YAA0J,CAAC;4CADloN,CAAC"}
|
package/dist/strapiAuth.js
CHANGED
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import NextAuth, {} from "next-auth";
|
|
2
|
-
import { SignInError } from "@auth/core/errors";
|
|
3
2
|
import Google from "next-auth/providers/google";
|
|
4
3
|
import Credentials from "next-auth/providers/credentials";
|
|
5
4
|
import MicrosoftEntraID from "next-auth/providers/microsoft-entra-id";
|
|
5
|
+
import Okta from "next-auth/providers/okta";
|
|
6
|
+
import { SignInError } from "@auth/core/errors";
|
|
6
7
|
import { ApiClient } from "./utils/ApiClient";
|
|
8
|
+
import { EnabledProviders } from "./utils/enabledProviders";
|
|
7
9
|
async function refreshToken(token) {
|
|
8
10
|
try {
|
|
9
11
|
const url = new URL(`${process.env.NEXT_PUBLIC_API_URL}/api/auth/refresh`);
|
|
@@ -27,11 +29,20 @@ async function refreshToken(token) {
|
|
|
27
29
|
};
|
|
28
30
|
}
|
|
29
31
|
}
|
|
30
|
-
const
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
32
|
+
const getProviders = () => {
|
|
33
|
+
const enabledProviders = EnabledProviders();
|
|
34
|
+
const providers = [];
|
|
35
|
+
if (enabledProviders.includes("Google")) {
|
|
36
|
+
providers.push(Google);
|
|
37
|
+
}
|
|
38
|
+
if (enabledProviders.includes("MicrosoftEntraID")) {
|
|
39
|
+
providers.push(MicrosoftEntraID);
|
|
40
|
+
}
|
|
41
|
+
if (enabledProviders.includes("Okta")) {
|
|
42
|
+
providers.push(Okta);
|
|
43
|
+
}
|
|
44
|
+
if (enabledProviders.includes("Credentials")) {
|
|
45
|
+
providers.push(Credentials({
|
|
35
46
|
credentials: {
|
|
36
47
|
email: {
|
|
37
48
|
type: "email",
|
|
@@ -58,8 +69,15 @@ const nextAuthResult = NextAuth({
|
|
|
58
69
|
const user = { name: data.user.username, email: data.user.email, jwt: data.jwt };
|
|
59
70
|
return user;
|
|
60
71
|
}
|
|
61
|
-
})
|
|
62
|
-
|
|
72
|
+
}));
|
|
73
|
+
}
|
|
74
|
+
return providers;
|
|
75
|
+
};
|
|
76
|
+
const nextAuthResult = NextAuth({
|
|
77
|
+
providers: getProviders(),
|
|
78
|
+
// pages: {
|
|
79
|
+
// signIn: "/",
|
|
80
|
+
// },
|
|
63
81
|
session: {
|
|
64
82
|
strategy: "jwt"
|
|
65
83
|
},
|
|
@@ -93,6 +111,17 @@ const nextAuthResult = NextAuth({
|
|
|
93
111
|
}
|
|
94
112
|
}
|
|
95
113
|
});
|
|
114
|
+
export const providerMap = getProviders()
|
|
115
|
+
.map((provider) => {
|
|
116
|
+
if (typeof provider === "function") {
|
|
117
|
+
const providerData = provider({});
|
|
118
|
+
return { id: providerData.id, name: providerData.name };
|
|
119
|
+
}
|
|
120
|
+
else {
|
|
121
|
+
return { id: provider.id, name: provider.name };
|
|
122
|
+
}
|
|
123
|
+
})
|
|
124
|
+
.filter((provider) => provider.id !== "credentials");
|
|
96
125
|
export const auth = nextAuthResult.auth;
|
|
97
126
|
export const handlers = nextAuthResult.handlers;
|
|
98
127
|
export const signIn = nextAuthResult.signIn;
|
package/dist/strapiAuth.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"strapiAuth.js","sourceRoot":"","sources":["../src/strapiAuth.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,EAAE,EAAuB,MAAM,WAAW,CAAC;AAC1D,OAAO,
|
|
1
|
+
{"version":3,"file":"strapiAuth.js","sourceRoot":"","sources":["../src/strapiAuth.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"enabledProviders.d.ts","sourceRoot":"","sources":["../../src/utils/enabledProviders.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,gBAAgB,gBAoB5B,CAAA"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
// This helper function references the project's env file to determine which providers to enable/configure for AuthJS
|
|
2
|
+
export const EnabledProviders = () => {
|
|
3
|
+
let providers = [];
|
|
4
|
+
if (process.env.AUTH_GOOGLE_ID) {
|
|
5
|
+
providers.push("Google");
|
|
6
|
+
}
|
|
7
|
+
if (process.env.AUTH_MICROSOFT_ENTRA_ID_ID) {
|
|
8
|
+
providers.push("MicrosoftEntraID");
|
|
9
|
+
}
|
|
10
|
+
if (process.env.AUTH_OKTA_ID) {
|
|
11
|
+
providers.push("Okta");
|
|
12
|
+
}
|
|
13
|
+
if (process.env.AUTH_CREDENTIALS_ENABLED == "true") {
|
|
14
|
+
providers.push("Credentials");
|
|
15
|
+
}
|
|
16
|
+
return providers;
|
|
17
|
+
};
|
|
18
|
+
//# sourceMappingURL=enabledProviders.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"enabledProviders.js","sourceRoot":"","sources":["../../src/utils/enabledProviders.ts"],"names":[],"mappings":"AAAA,qHAAqH;AACrH,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,EAAE;IACnC,IAAI,SAAS,GAAG,EAAE,CAAC;IAEnB,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC;QAC/B,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC3B,CAAC;IAED,IAAI,OAAO,CAAC,GAAG,CAAC,0BAA0B,EAAE,CAAC;QAC3C,SAAS,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IACrC,CAAC;IAED,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;QAC7B,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACzB,CAAC;IAED,IAAI,OAAO,CAAC,GAAG,CAAC,wBAAwB,IAAI,MAAM,EAAE,CAAC;QACnD,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAChC,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC,CAAA"}
|
package/package.json
CHANGED
package/types/next-auth.d.ts
CHANGED
|
@@ -13,5 +13,24 @@ declare module "next-auth" {
|
|
|
13
13
|
jwt: string
|
|
14
14
|
} & DefaultSession["user"]
|
|
15
15
|
}
|
|
16
|
+
|
|
17
|
+
interface Credentials {
|
|
18
|
+
// credentials: {
|
|
19
|
+
email: {
|
|
20
|
+
type: string,
|
|
21
|
+
label: string
|
|
22
|
+
},
|
|
23
|
+
password: {
|
|
24
|
+
type: string,
|
|
25
|
+
label: string
|
|
26
|
+
},
|
|
27
|
+
// },
|
|
28
|
+
authorize,
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
interface AuthProvider {
|
|
32
|
+
id: string,
|
|
33
|
+
name: string
|
|
34
|
+
}
|
|
16
35
|
}
|
|
17
36
|
|
package/dist/auth.d.ts
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { type NextAuthResult } from "next-auth";
|
|
2
|
-
export declare const auth: NextAuthResult["auth"];
|
|
3
|
-
export declare const handlers: {
|
|
4
|
-
GET: (req: import("next/server").NextRequest) => Promise<Response>;
|
|
5
|
-
POST: (req: import("next/server").NextRequest) => Promise<Response>;
|
|
6
|
-
};
|
|
7
|
-
export declare const signIn: <P extends import("@auth/core/providers").ProviderId, R extends boolean = true>(provider?: P, options?: FormData | ({
|
|
8
|
-
redirectTo?: string;
|
|
9
|
-
redirect?: R;
|
|
10
|
-
} & Record<string, any>), authorizationParams?: string[][] | Record<string, string> | string | URLSearchParams) => Promise<R extends false ? any : never>;
|
|
11
|
-
export declare const signOut: <R extends boolean = true>(options?: {
|
|
12
|
-
redirectTo?: string;
|
|
13
|
-
redirect?: R;
|
|
14
|
-
}) => Promise<R extends false ? any : never>;
|
|
15
|
-
//# sourceMappingURL=auth.d.ts.map
|
package/dist/auth.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AAAA,OAAiB,EAAE,KAAK,cAAc,EAAE,MAAM,WAAW,CAAC;AA6E1D,eAAO,MAAM,IAAI,EAAG,cAAc,CAAC,MAAM,CAAuB,CAAC;AACjE,eAAO,MAAM,QAAQ;;;CAA0B,CAAC;AAChD,eAAO,MAAM,MAAM;cAEoiO,CAAC;YAAyJ,CAAC;yJAFvqO,CAAC;AAC5C,eAAO,MAAM,OAAO;cACmzQ,CAAC;YAA0J,CAAC;4CADt7Q,CAAC"}
|
package/dist/auth.js
DELETED
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
import NextAuth, {} from "next-auth";
|
|
2
|
-
import { SignInError } from "@auth/core/errors";
|
|
3
|
-
import Google from "next-auth/providers/google";
|
|
4
|
-
import Credentials from "next-auth/providers/credentials";
|
|
5
|
-
import MicrosoftEntraID from "next-auth/providers/microsoft-entra-id";
|
|
6
|
-
const nextAuthResult = NextAuth({
|
|
7
|
-
providers: [
|
|
8
|
-
Google,
|
|
9
|
-
MicrosoftEntraID,
|
|
10
|
-
Credentials({
|
|
11
|
-
credentials: {
|
|
12
|
-
email: {
|
|
13
|
-
type: "email",
|
|
14
|
-
label: "Email"
|
|
15
|
-
},
|
|
16
|
-
password: {
|
|
17
|
-
type: "password",
|
|
18
|
-
label: "Password"
|
|
19
|
-
},
|
|
20
|
-
},
|
|
21
|
-
authorize: async (credentials) => {
|
|
22
|
-
const response = await fetch(new URL(`${process.env.NEXT_PUBLIC_API_URL}/auth/local`), {
|
|
23
|
-
method: 'POST',
|
|
24
|
-
headers: {
|
|
25
|
-
"Content-Type": "application/json"
|
|
26
|
-
},
|
|
27
|
-
body: JSON.stringify({
|
|
28
|
-
identifier: credentials.email,
|
|
29
|
-
password: credentials.password
|
|
30
|
-
})
|
|
31
|
-
});
|
|
32
|
-
const data = await response.json();
|
|
33
|
-
if (response.status != 200) {
|
|
34
|
-
throw new SignInError(data.error.message);
|
|
35
|
-
}
|
|
36
|
-
const user = { name: data.user.username, email: data.user.email, jwt: data.jwt };
|
|
37
|
-
return user;
|
|
38
|
-
}
|
|
39
|
-
})
|
|
40
|
-
],
|
|
41
|
-
session: {
|
|
42
|
-
strategy: "jwt"
|
|
43
|
-
},
|
|
44
|
-
callbacks: {
|
|
45
|
-
async session({ session, token }) {
|
|
46
|
-
if (token) {
|
|
47
|
-
session.jwt = token.jwt;
|
|
48
|
-
}
|
|
49
|
-
return session;
|
|
50
|
-
},
|
|
51
|
-
async jwt({ token, user, account }) {
|
|
52
|
-
if (account && user) {
|
|
53
|
-
try {
|
|
54
|
-
const strapiProviderName = account.provider === "microsoft-entra-id"
|
|
55
|
-
? "microsoft" : account.provider;
|
|
56
|
-
const response = await fetch(`${process.env.NEXT_PUBLIC_API_URL}/auth/${strapiProviderName}/callback?access_token=${account.access_token}`);
|
|
57
|
-
const data = await response.json();
|
|
58
|
-
token.jwt = data.jwt;
|
|
59
|
-
}
|
|
60
|
-
catch (error) {
|
|
61
|
-
console.error("Error in JWT callback:", error);
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
return token;
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
});
|
|
68
|
-
export const auth = nextAuthResult.auth;
|
|
69
|
-
export const handlers = nextAuthResult.handlers;
|
|
70
|
-
export const signIn = nextAuthResult.signIn;
|
|
71
|
-
export const signOut = nextAuthResult.signOut;
|
|
72
|
-
//# sourceMappingURL=auth.js.map
|
package/dist/auth.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"signin-form.d.ts","sourceRoot":"","sources":["../../src/components/signin-form.tsx"],"names":[],"mappings":"AAAA,wBAAgB,UAAU,gCAiCzB"}
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
export function SignInForm() {
|
|
2
|
-
return (<div className="kl-sign-in-form--wrapper">
|
|
3
|
-
<form id="signInForm" name="Sign In" className="kl-sign-in-form">
|
|
4
|
-
<title>Sign in</title>
|
|
5
|
-
<div className="kl-sign-in-form--field-group">
|
|
6
|
-
<label htmlFor="email">
|
|
7
|
-
Email
|
|
8
|
-
</label>
|
|
9
|
-
<input name="email" id="email"/>
|
|
10
|
-
</div>
|
|
11
|
-
<div className="kl-sign-in-form--field-group">
|
|
12
|
-
<label htmlFor="password">
|
|
13
|
-
Password
|
|
14
|
-
</label>
|
|
15
|
-
<input name="password" id="password"/>
|
|
16
|
-
</div>
|
|
17
|
-
<button type="submit" className="kl-sign-in-form--submit-button">
|
|
18
|
-
Sign In
|
|
19
|
-
</button>
|
|
20
|
-
</form>
|
|
21
|
-
{/* TODO: Make this a loop over providers */}
|
|
22
|
-
<form className="kl-sign-in-form--providers-list">
|
|
23
|
-
<button type="submit">
|
|
24
|
-
<span>Sign in with [provider name]</span>
|
|
25
|
-
</button>
|
|
26
|
-
</form>
|
|
27
|
-
</div>);
|
|
28
|
-
}
|
|
29
|
-
//# sourceMappingURL=signin-form.jsx.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"signin-form.jsx","sourceRoot":"","sources":["../../src/components/signin-form.tsx"],"names":[],"mappings":"AAAA,MAAM,UAAU,UAAU;IACxB,OAAO,CACL,CAAC,GAAG,CAAC,SAAS,CAAC,0BAA0B,CACvC;MAAA,CAAC,IAAI,CACH,EAAE,CAAC,YAAY,CACf,IAAI,CAAC,SAAS,CACd,SAAS,CAAC,iBAAiB,CAE3B;QAAA,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CACrB;QAAA,CAAC,GAAG,CAAC,SAAS,CAAC,8BAA8B,CAC3C;UAAA,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CACpB;;UACF,EAAE,KAAK,CACP;UAAA,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,EAChC;QAAA,EAAE,GAAG,CACL;QAAA,CAAC,GAAG,CAAC,SAAS,CAAC,8BAA8B,CAC3C;UAAA,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CACvB;;UACF,EAAE,KAAK,CACP;UAAA,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,UAAU,EACtC;QAAA,EAAE,GAAG,CACL;QAAA,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,gCAAgC,CAC9D;;QACF,EAAE,MAAM,CACV;MAAA,EAAE,IAAI,CACN;MAAA,CAAC,2CAA2C,CAC1C;QAAA,CAAC,IAAI,CAAC,SAAS,CAAC,iCAAiC,CAC/C;UAAA,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CACnB;YAAA,CAAC,IAAI,CAAC,4BAA4B,EAAE,IAAI,CAC1C;UAAA,EAAE,MAAM,CACV;QAAA,EAAE,IAAI,CACV;IAAA,EAAE,GAAG,CAAC,CACP,CAAA;AACH,CAAC"}
|