export const auth = betterAuth({
trustedOrigins: ["http://localhost:3001"],
database: prismaAdapter(prisma, { provider: "sqlserver" }),
socialProviders: {
microsoft: {
clientId: process.env.MICROSOFT_CLIENT_ID || "",
clientSecret: process.env.MICROSOFT_CLIENT_SECRET || "",
},
},
plugins: [
admin(),
organization(),
]
});
const betterAuth = new Elysia({ name: "better-auth" })
.mount(auth.handler)
.macro({
auth: {
async resolve({ status, request: { headers } }) {
const session = await auth.api.getSession({
headers,
});
console.log(session)
if (!session) return status(401);
return {
user: session.user,
session: session.session,
};
},
},
});
const app = new Elysia()
.use(betterAuth)
.use(
cors({
origin: "http://localhost:3001",
methods: ["GET", "POST", "PUT", "DELETE", "OPTIONS"],
credentials: true,
allowedHeaders: ["Content-Type", "Authorization"],
}),
)
.get("/user", ({ user }) => user, {
auth: true,
})
.listen(3000);
console.log(
`Server running at ${app.server?.hostname}:${app.server?.port}`
);
export const auth = betterAuth({
trustedOrigins: ["http://localhost:3001"],
database: prismaAdapter(prisma, { provider: "sqlserver" }),
socialProviders: {
microsoft: {
clientId: process.env.MICROSOFT_CLIENT_ID || "",
clientSecret: process.env.MICROSOFT_CLIENT_SECRET || "",
},
},
plugins: [
admin(),
organization(),
]
});
const betterAuth = new Elysia({ name: "better-auth" })
.mount(auth.handler)
.macro({
auth: {
async resolve({ status, request: { headers } }) {
const session = await auth.api.getSession({
headers,
});
console.log(session)
if (!session) return status(401);
return {
user: session.user,
session: session.session,
};
},
},
});
const app = new Elysia()
.use(betterAuth)
.use(
cors({
origin: "http://localhost:3001",
methods: ["GET", "POST", "PUT", "DELETE", "OPTIONS"],
credentials: true,
allowedHeaders: ["Content-Type", "Authorization"],
}),
)
.get("/user", ({ user }) => user, {
auth: true,
})
.listen(3000);
console.log(
`Server running at ${app.server?.hostname}:${app.server?.port}`
);