Admin Plugin

The admin plugin provides a small first-party administration surface for Limen. Administrators are explicit: configure admin emails or user IDs at startup. Admin email matches require EmailVerifiedAt to be set. Prefer immutable user IDs when bootstrapping a production owner account.

Install

go get github.com/ragokan/limen/plugins/admin
import admin "github.com/ragokan/limen/plugins/admin"

auth, err := limen.New(&limen.Config{
    Database: adapter,
    Secret:   secret,
    Plugins: []limen.Plugin{
        admin.New(
            admin.WithAdminEmails("owner@example.com"),
        ),
    },
})

Routes

The plugin mounts under /admin relative to Limen's HTTP base path.

GET  /auth/admin/users
GET  /auth/admin/users/:id
POST /auth/admin/users/:id/revoke-sessions

All routes require a valid user session and configured admin access.

Programmatic API

adminAPI := admin.Use(auth)

users, err := adminAPI.ListUsers(ctx)
err = adminAPI.RevokeUserSessions(ctx, userID)

Admin responses exclude password hashes.

User Status

This plugin does not yet expose ban/disable fields. Those fields should be added only with matching authentication enforcement, so disabled users cannot continue signing in through another provider.