mirror of
https://github.com/mickael-kerjean/filestash.git
synced 2025-10-27 19:53:41 +08:00
42 lines
1.1 KiB
Go
42 lines
1.1 KiB
Go
package plg_authenticate_local
|
|
|
|
import (
|
|
"net/http"
|
|
|
|
. "github.com/mickael-kerjean/filestash/server/common"
|
|
"github.com/mickael-kerjean/filestash/server/middleware"
|
|
|
|
"github.com/gorilla/mux"
|
|
)
|
|
|
|
func init() {
|
|
Hooks.Register.AuthenticationMiddleware("local", SimpleAuth{})
|
|
Hooks.Register.HttpEndpoint(func(r *mux.Router, app *App) error {
|
|
r.Handle(WithBase("/admin/simple-user-management"), http.RedirectHandler(WithBase("/admin/api/simple-user-management"), http.StatusSeeOther)).Methods("GET")
|
|
r.HandleFunc(WithBase("/admin/api/simple-user-management"), middleware.NewMiddlewareChain(
|
|
UserManagementHandler,
|
|
[]Middleware{middleware.AdminOnly},
|
|
*app,
|
|
)).Methods("GET", "POST", "DELETE", "PATCH")
|
|
return nil
|
|
})
|
|
}
|
|
|
|
type User struct {
|
|
Email string `json:"email"`
|
|
Password string `json:"password"`
|
|
Role string `json:"role"`
|
|
Disabled bool `json:"disabled"`
|
|
|
|
Code string `json:"-"`
|
|
MFA string `json:"mfa"`
|
|
}
|
|
|
|
type pluginConfig struct {
|
|
DB string `json:"db"`
|
|
MFA string `json:"mfa"`
|
|
Users []User `json:"-"`
|
|
Subject string `json:"notification_subject"`
|
|
Body string `json:"notification_body"`
|
|
}
|