Skip to content

Integrating with Remix

Terminal window
npm install @authaction/server-sdk
app/auth.server.ts
import { createRemixAuth } from "@authaction/server-sdk/remix";
export const auth = createRemixAuth({
domain: process.env.AUTHACTION_DOMAIN!,
clientId: process.env.AUTHACTION_CLIENT_ID!,
redirectUri: process.env.AUTHACTION_REDIRECT_URI!,
sessionSecret: process.env.SESSION_SECRET!,
});
app/routes/auth.login.tsx
export const loader = ({ request }) => auth.handleLogin(request);
// app/routes/auth.callback.tsx
export const loader = ({ request }) => auth.handleCallback(request);
// app/routes/dashboard.tsx
export async function loader({ request }) {
const session = await auth.requireSession(request); // redirects if not logged in
return { user: session.user };
}

Full SDK reference: github.com/authaction/authaction-server-sdk