feat: add oidc support with authentik

This commit is contained in:
2026-01-14 02:33:20 -05:00
parent 180f14dfb0
commit 302f3cb3f5
25 changed files with 252 additions and 712 deletions
+34
View File
@@ -17,6 +17,7 @@ import {
Users,
FileText,
TrendingUp,
Shield,
} from "lucide-react";
function SignInForm() {
@@ -47,6 +48,15 @@ function SignInForm() {
}
}
async function handleSocialSignIn() {
setLoading(true);
await authClient.signIn.sso({
providerId: "authentik",
callbackURL: callbackUrl,
});
setLoading(false);
}
return (
<div className="flex min-h-screen items-center justify-center relative overflow-hidden">
{/* Blob Background */}
@@ -129,6 +139,30 @@ function SignInForm() {
</p>
</div>
<div className="space-y-4">
<Button
variant="outline"
type="button"
className="w-full h-11 relative rounded-xl"
onClick={handleSocialSignIn}
disabled={loading}
>
<Shield className="mr-2 h-4 w-4" />
Sign in with Authentik
</Button>
<div className="relative">
<div className="absolute inset-0 flex items-center">
<span className="w-full border-t border-border/50" />
</div>
<div className="relative flex justify-center text-xs uppercase">
<span className="bg-background px-2 text-muted-foreground">
Or continue with
</span>
</div>
</div>
</div>
<form onSubmit={handleSignIn} className="space-y-4">
<div className="space-y-2">
<Label htmlFor="email">Email Address</Label>