Skip to content

Latest commit

 

History

History
101 lines (75 loc) · 3.12 KB

File metadata and controls

101 lines (75 loc) · 3.12 KB

Strapi + Better Auth Dashboard

An admin panel dashboard plugin for Strapi that provides user management, session monitoring, and analytics for Better Auth authentication.

Caution

This plugin is in BETA state. It is by no means considered stable and should not be used in production. If you want to contribute to its development, please contact any of the maintainers.

Features

  • Overview page with user metrics, growth charts, and cohort retention analysis
  • User management: search, create, edit, delete, and ban users
  • Session management: view and revoke active sessions per user from the user detail drawer
  • Organization management (when the Better Auth organization plugin is enabled)
  • Real-time active user tracking (DAU / WAU / MAU)
  • Automatic feature detection — ban, 2FA, email verification, and organization UI adapts to your Better Auth config

Installation

The additional dashboard plugin requires you to have the Better Auth plugin already installed and configured.

Packages

npm install @better-auth/infra @strapi-community/plugin-better-auth-dashboard
# or
yarn add @better-auth/infra @strapi-community/plugin-better-auth-dashboard
# or
pnpm add @better-auth/infra @strapi-community/plugin-better-auth-dashboard

Configuration

Caution

This plugin only works if you have not changed the basePath of Better Auth. It needs to be the default /api/auth path.

In order to run this plugin you need to configure the dash() and jwt() plugins from Better Auth.

import { dash } from "@better-auth/infra";
import { betterAuth } from 'better-auth';
import { jwt } from 'better-auth/plugins';
import { strapiAdapter } from '@strapi-community/plugin-better-auth';

export const auth = betterAuth({
  database: strapiAdapter(),
  trustedOrigins: ['http://localhost:3000'],
  plugins: [
    jwt(),
    dash({
      apiUrl: process.env.STRAPI_URL || "http://localhost:1337",
      apiKey:
        process.env.BETTER_AUTH_DASHBOARD_SECRET ||
        "strapi-internal-dashboard-key",
    }),
  ],
  advanced: {
    database: {
      generateId: 'serial',
    },
  },
  emailAndPassword: {
    enabled: true,
  },
});

Start Strapi

pnpm develop

The dashboard is now available in the Strapi admin panel.

Pages

Tab Description
Overview User metrics, growth charts, cohort retention, active user rings
Users Searchable user table with create, edit, delete, ban, and session revoke per user
Organizations Organization list with member management (requires Better Auth organization plugin)

Requirements

  • @strapi-community/plugin-better-auth installed and configured
  • Strapi v5.45.0+
  • Better Auth >= 1.4.0

Resources

Authors

License

See the LICENSE file for licensing information.