Better Auth Identity Provider Integration

Better Auth Plugin for Login Risk Scoring

A Better Auth plugin that scores every sign-in and blocks the risky ones before the session exists.

Add login risk scoring to Better Auth →

Install command

npm install better-auth-loginllama

Add LoginLlama to Better Auth in one call

Call LoginLlama from your Better Auth login handler before you create the session. Send the email, IP, and user agent, then allow, challenge, or block based on the returned risk score.

Better Auth login check
// Install: npm install better-auth-loginllama
import { betterAuth } from 'better-auth';
import { loginLlama } from 'better-auth-loginllama';

export const auth = betterAuth({
  emailAndPassword: { enabled: true },
  // Scores each sign-in and refuses it at a risk score of 8 or more,
  // before the session exists. Reads LOGINLLAMA_API_KEY.
  plugins: [loginLlama({ blockAt: 8 })]
});

// On the client, show the reason:
const { error } = await authClient.signIn.email({ email, password });
if (error?.code === 'LOGINLLAMA_RISKY_SIGN_IN') {
  // Offer a password reset or a support link.
}

Why teams choose LoginLlama for Better Auth

Score every login in under 100ms

Detect VPNs, proxies, and TOR exit nodes

Explain why a login is risky with clear risk reasons

Catch errors from the check and logins go ahead during an outage

How it works

Step 1

Install or connect LoginLlama

Choose the SDK or integration point that fits your auth flow and add your API key.

Step 2

Check risk at login time

Send the email, IP, and device context before completing authentication.

Step 3

Act on the risk score

Allow, challenge, or block the login based on risk score and reasons.

Signals we analyze

New device or browser fingerprints

Impossible travel and velocity checks

Bot-like login bursts and credential stuffing

Geo anomalies and risky IP reputation

Works well with your Better Auth stack

Email and password sign-inNext.jsHonoExpress

Better Auth login security FAQ

How do I add suspicious login detection to Better Auth?

Install LoginLlama with `npm install better-auth-loginllama`, then call the risk check from your Better Auth login handler before you create the session. Send the user's email, IP address, and user agent, and branch on the returned risk score.

Will LoginLlama slow down Better Auth logins?

No. Risk scoring returns in under 100ms. If LoginLlama is unreachable the check throws an error, so catch it and let the Better Auth login go ahead. An outage then never blocks a real user.

What does LoginLlama detect on Better Auth logins?

New devices and browser fingerprints, impossible travel and login velocity, credential-stuffing bursts, and traffic from VPNs, proxies, TOR exit nodes, and high-risk IPs — each returned with a clear, human-readable reason code.

Does LoginLlama work with Email and password sign-in, Next.js, Hono, Express?

Yes. LoginLlama runs at the login step itself, so it works alongside Email and password sign-in, Next.js, Hono, Express and the rest of your Better Auth stack without replacing your existing authentication provider.

Other integrations

LoginLlama works with the same single API call across every stack.

Better Auth login protection

Protect Better Auth users from suspicious logins

Add LoginLlama in minutes and block risky logins in real time.

Start Free