Compare commits
2 Commits
hws/v0.3.1
...
hws/v0.3.2
| Author | SHA1 | Date | |
|---|---|---|---|
| 0c3d4ef095 | |||
| 5a3ed49ea4 |
@@ -10,11 +10,14 @@ type MiddlewareFunc func(w http.ResponseWriter, r *http.Request) (*http.Request,
|
|||||||
|
|
||||||
// Server.AddMiddleware registers all the middleware.
|
// Server.AddMiddleware registers all the middleware.
|
||||||
// Middleware will be run in the order that they are provided.
|
// Middleware will be run in the order that they are provided.
|
||||||
|
// Can only be called once
|
||||||
func (server *Server) AddMiddleware(middleware ...Middleware) error {
|
func (server *Server) AddMiddleware(middleware ...Middleware) error {
|
||||||
if !server.routes {
|
if !server.routes {
|
||||||
return errors.New("Server.AddRoutes must be called before Server.AddMiddleware")
|
return errors.New("Server.AddRoutes must be called before Server.AddMiddleware")
|
||||||
}
|
}
|
||||||
|
if server.middleware {
|
||||||
|
return errors.New("Server.AddMiddleware already called")
|
||||||
|
}
|
||||||
// RUN LOGGING MIDDLEWARE FIRST
|
// RUN LOGGING MIDDLEWARE FIRST
|
||||||
server.server.Handler = logging(server.server.Handler, server.logger)
|
server.server.Handler = logging(server.server.Handler, server.logger)
|
||||||
|
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ package hwsauth
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"net/http"
|
"net/http"
|
||||||
|
"reflect"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"git.haelnorr.com/h/golib/jwt"
|
"git.haelnorr.com/h/golib/jwt"
|
||||||
@@ -45,6 +46,9 @@ func (auth *Authenticator[T, TX]) getAuthenticatedUser(
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return authenticatedModel[T]{}, errors.Wrap(err, "auth.load")
|
return authenticatedModel[T]{}, errors.Wrap(err, "auth.load")
|
||||||
}
|
}
|
||||||
|
if reflect.ValueOf(model).IsNil() {
|
||||||
|
return authenticatedModel[T]{}, errors.New("no user matching JWT in database")
|
||||||
|
}
|
||||||
authUser := authenticatedModel[T]{
|
authUser := authenticatedModel[T]{
|
||||||
model: model,
|
model: model,
|
||||||
fresh: aT.Fresh,
|
fresh: aT.Fresh,
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ package hwsauth
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"net/http"
|
"net/http"
|
||||||
|
"reflect"
|
||||||
|
|
||||||
"git.haelnorr.com/h/golib/jwt"
|
"git.haelnorr.com/h/golib/jwt"
|
||||||
"github.com/pkg/errors"
|
"github.com/pkg/errors"
|
||||||
@@ -18,7 +19,9 @@ func (auth *Authenticator[T, TX]) refreshAuthTokens(
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return getNil[T](), errors.Wrap(err, "auth.load")
|
return getNil[T](), errors.Wrap(err, "auth.load")
|
||||||
}
|
}
|
||||||
|
if reflect.ValueOf(model).IsNil() {
|
||||||
|
return getNil[T](), errors.New("no user matching JWT in database")
|
||||||
|
}
|
||||||
rememberMe := map[string]bool{
|
rememberMe := map[string]bool{
|
||||||
"session": false,
|
"session": false,
|
||||||
"exp": true,
|
"exp": true,
|
||||||
|
|||||||
Reference in New Issue
Block a user