54 lines
1.6 KiB
TypeScript
54 lines
1.6 KiB
TypeScript
import ThirdPartyNode from "supertokens-node/recipe/thirdparty";
|
|
import EmailPasswordNode from "supertokens-node/recipe/emailpassword";
|
|
import SessionNode from "supertokens-node/recipe/session";
|
|
import { TypeInput } from "supertokens-node/types";
|
|
import { AppInfoUserInput } from "supertokens-node/types";
|
|
|
|
const appInfo: AppInfoUserInput = {
|
|
appName: "Vib'n",
|
|
apiDomain: process.env.NEXT_PUBLIC_APP_URL || "https://app.vibnai.com",
|
|
websiteDomain: process.env.NEXT_PUBLIC_APP_URL || "https://app.vibnai.com",
|
|
apiBasePath: "/api/auth",
|
|
websiteBasePath: "/auth",
|
|
};
|
|
|
|
export const backendConfig = (): TypeInput => {
|
|
return {
|
|
framework: "custom",
|
|
supertokens: {
|
|
connectionURI: process.env.SUPERTOKENS_CONNECTION_URI || "https://auth.vibnai.com",
|
|
apiKey: process.env.SUPERTOKENS_API_KEY,
|
|
},
|
|
appInfo,
|
|
recipeList: [
|
|
ThirdPartyNode.init({
|
|
signInAndUpFeature: {
|
|
providers: [
|
|
{
|
|
config: {
|
|
thirdPartyId: "google",
|
|
clients: [{
|
|
clientId: process.env.GOOGLE_CLIENT_ID || "",
|
|
clientSecret: process.env.GOOGLE_CLIENT_SECRET || "",
|
|
}],
|
|
},
|
|
},
|
|
{
|
|
config: {
|
|
thirdPartyId: "github",
|
|
clients: [{
|
|
clientId: process.env.GITHUB_CLIENT_ID || "",
|
|
clientSecret: process.env.GITHUB_CLIENT_SECRET || "",
|
|
}],
|
|
},
|
|
},
|
|
],
|
|
},
|
|
}),
|
|
EmailPasswordNode.init(),
|
|
SessionNode.init(),
|
|
],
|
|
isInServerlessEnv: true,
|
|
};
|
|
};
|