27 lines
643 B
Go
27 lines
643 B
Go
package authn
|
|
|
|
import (
|
|
"net/http"
|
|
|
|
"forge.cadoles.com/cadoles/bouncer/internal/store"
|
|
"github.com/pkg/errors"
|
|
)
|
|
|
|
var (
|
|
ErrUnauthorized = errors.New("unauthorized")
|
|
ErrForbidden = errors.New("forbidden")
|
|
ErrSkipRequest = errors.New("skip request")
|
|
)
|
|
|
|
type Authenticator interface {
|
|
Authenticate(w http.ResponseWriter, r *http.Request, layer *store.Layer) (*User, error)
|
|
}
|
|
|
|
type PreAuthentication interface {
|
|
PreAuthentication(w http.ResponseWriter, r *http.Request, layer *store.Layer) error
|
|
}
|
|
|
|
type PostAuthentication interface {
|
|
PostAuthentication(w http.ResponseWriter, r *http.Request, layer *store.Layer, user *User) error
|
|
}
|