Files
vibn-frontend/lib/supertokens/backendConfig.ts

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,
};
};