feat: extract auth into provider (#663)

* extract auth into provider

* bump go version

* use pointer

* rebase

Former-commit-id: 8538877f52
This commit is contained in:
Hayden 2023-12-12 08:49:46 -06:00 committed by GitHub
parent 3eb4c21263
commit 0c535aa8d8
6 changed files with 155 additions and 46 deletions

View file

@ -0,0 +1,30 @@
package providers
import (
"net/http"
"github.com/hay-kot/homebox/backend/internal/core/services"
)
type LocalProvider struct {
service *services.UserService
}
func NewLocalProvider(service *services.UserService) *LocalProvider {
return &LocalProvider{
service: service,
}
}
func (p *LocalProvider) Name() string {
return "local"
}
func (p *LocalProvider) Authenticate(w http.ResponseWriter, r *http.Request) (services.UserAuthTokenDetail, error) {
loginForm, err := getLoginForm(r)
if err != nil {
return services.UserAuthTokenDetail{}, err
}
return p.service.Login(r.Context(), loginForm.Username, loginForm.Password, loginForm.StayLoggedIn)
}