Documentation
¶
Index ¶
- Constants
- Variables
- func DefaultLogoutCallbackHandler(auth Provider, w http.ResponseWriter, r *http.Request)
- func Initialize() error
- func IsEnabled() bool
- func IsOIDCEnabled() bool
- func RequireAuth(next http.HandlerFunc) http.HandlerFunc
- type OIDCProvider
- func (auth *OIDCProvider) CheckToken(r *http.Request) error
- func (auth *OIDCProvider) LoginCallbackHandler(w http.ResponseWriter, r *http.Request)
- func (auth *OIDCProvider) LogoutCallbackHandler(w http.ResponseWriter, r *http.Request)
- func (auth *OIDCProvider) RedirectLoginPage(w http.ResponseWriter, r *http.Request)
- func (auth *OIDCProvider) SetAllowedGroups(groups []string)
- func (auth *OIDCProvider) SetAllowedUsers(users []string)
- func (auth *OIDCProvider) SetIsMiddleware(enabled bool)
- func (auth *OIDCProvider) TokenCookieName() string
- type Provider
- type UserPassAuth
- func (auth *UserPassAuth) CheckToken(r *http.Request) error
- func (auth *UserPassAuth) LoginCallbackHandler(w http.ResponseWriter, r *http.Request)
- func (auth *UserPassAuth) LogoutCallbackHandler(w http.ResponseWriter, r *http.Request)
- func (auth *UserPassAuth) NewToken() (token string, err error)
- func (auth *UserPassAuth) RedirectLoginPage(w http.ResponseWriter, r *http.Request)
- func (auth *UserPassAuth) TokenCookieName() string
- type UserPassClaims
Constants ¶
View Source
const ( OIDCMiddlewareCallbackPath = "/auth/callback" OIDCLogoutPath = "/auth/logout" )
View Source
const CookieOauthState = "godoxy_oidc_state"
Variables ¶
View Source
var ( ErrInvalidUsername = E.New("invalid username") ErrInvalidPassword = E.New("invalid password") )
Functions ¶
func DefaultLogoutCallbackHandler ¶
func DefaultLogoutCallbackHandler(auth Provider, w http.ResponseWriter, r *http.Request)
DefaultLogoutCallbackHandler clears the token cookie and redirects to the login page..
func IsOIDCEnabled ¶
func IsOIDCEnabled() bool
func RequireAuth ¶
func RequireAuth(next http.HandlerFunc) http.HandlerFunc
Types ¶
type OIDCProvider ¶
type OIDCProvider struct {
// contains filtered or unexported fields
}
func NewOIDCProvider ¶
func NewOIDCProvider(issuerURL, clientID, clientSecret, redirectURL, logoutURL string, allowedUsers, allowedGroups []string) (*OIDCProvider, error)
func NewOIDCProviderFromEnv ¶
func NewOIDCProviderFromEnv() (*OIDCProvider, error)
NewOIDCProviderFromEnv creates a new OIDCProvider from environment variables.
func (*OIDCProvider) CheckToken ¶
func (auth *OIDCProvider) CheckToken(r *http.Request) error
func (*OIDCProvider) LoginCallbackHandler ¶
func (auth *OIDCProvider) LoginCallbackHandler(w http.ResponseWriter, r *http.Request)
OIDCCallbackHandler handles the OIDC callback.
func (*OIDCProvider) LogoutCallbackHandler ¶
func (auth *OIDCProvider) LogoutCallbackHandler(w http.ResponseWriter, r *http.Request)
func (*OIDCProvider) RedirectLoginPage ¶
func (auth *OIDCProvider) RedirectLoginPage(w http.ResponseWriter, r *http.Request)
RedirectOIDC initiates the OIDC login flow.
func (*OIDCProvider) SetAllowedGroups ¶
func (auth *OIDCProvider) SetAllowedGroups(groups []string)
func (*OIDCProvider) SetAllowedUsers ¶
func (auth *OIDCProvider) SetAllowedUsers(users []string)
func (*OIDCProvider) SetIsMiddleware ¶
func (auth *OIDCProvider) SetIsMiddleware(enabled bool)
func (*OIDCProvider) TokenCookieName ¶
func (auth *OIDCProvider) TokenCookieName() string
type Provider ¶
type Provider interface { TokenCookieName() string CheckToken(r *http.Request) error RedirectLoginPage(w http.ResponseWriter, r *http.Request) LoginCallbackHandler(w http.ResponseWriter, r *http.Request) LogoutCallbackHandler(w http.ResponseWriter, r *http.Request) }
func GetDefaultAuth ¶
func GetDefaultAuth() Provider
type UserPassAuth ¶
type UserPassAuth struct {
// contains filtered or unexported fields
}
func NewUserPassAuth ¶
func NewUserPassAuthFromEnv ¶
func NewUserPassAuthFromEnv() (*UserPassAuth, error)
func (*UserPassAuth) CheckToken ¶
func (auth *UserPassAuth) CheckToken(r *http.Request) error
func (*UserPassAuth) LoginCallbackHandler ¶
func (auth *UserPassAuth) LoginCallbackHandler(w http.ResponseWriter, r *http.Request)
func (*UserPassAuth) LogoutCallbackHandler ¶
func (auth *UserPassAuth) LogoutCallbackHandler(w http.ResponseWriter, r *http.Request)
func (*UserPassAuth) NewToken ¶
func (auth *UserPassAuth) NewToken() (token string, err error)
func (*UserPassAuth) RedirectLoginPage ¶
func (auth *UserPassAuth) RedirectLoginPage(w http.ResponseWriter, r *http.Request)
func (*UserPassAuth) TokenCookieName ¶
func (auth *UserPassAuth) TokenCookieName() string
type UserPassClaims ¶
type UserPassClaims struct { Username string `json:"username"` jwt.RegisteredClaims }
Click to show internal directories.
Click to hide internal directories.