Auth Provider
Redirect-based authentication using Taruvi's Web UI Flow.
Setup
<Refine authProvider={authProvider(client)} />
Flow
login()→ redirects to backend/accounts/login/- User authenticates on backend
- Backend redirects back with tokens in URL hash
- Client extracts and stores tokens automatically
Login
const { mutate: login, isLoading } = useLogin();
login({ callbackUrl: "/dashboard" });
// Redirects to backend login page; no direct return value
Logout
const { mutate: logout, isLoading } = useLogout();
logout({ callbackUrl: "/login" });
Register
const { mutate: register, isLoading } = useRegister();
register({ callbackUrl: "/welcome" });
Get Current User
import type { TaruviUser } from "@taruvi/sdk";
const { data: user, isLoading, isError } = useGetIdentity<TaruviUser>();
// user.username, user.email, user.first_name, user.last_name, etc.
Get Permissions
const { data: permissions, isLoading } = usePermissions();
// permissions.roles, permissions.permissions, permissions.groups
// permissions.is_staff, permissions.is_superuser
Auth Check Behavior
check()verifies authentication and auto-refreshes expired tokensonError()handles 401 (attempts token refresh, then logout) and 403 (no logout, user is authenticated but unauthorized)
Parameter Types
import type { LoginParams, LogoutParams, RegisterParams } from "@taruvi/refine-providers";
// LoginParams: { callbackUrl?: string; username?: string; password?: string; redirect?: boolean }
// LogoutParams: { callbackUrl?: string }
// RegisterParams: { callbackUrl?: string }