Documentation
¶
Index ¶
- func BuildOauthRedirect(cfg *config.Config, redirectType RedirectType, queryParams map[string]string) (string, error)
- type LoginPageData
- type Oauth2Server
- func (self *Oauth2Server) HandleAuthorize(w http.ResponseWriter, r *http.Request)
- func (self *Oauth2Server) HandleJWKS(w http.ResponseWriter, r *http.Request)
- func (self *Oauth2Server) HandleLoginPage(w http.ResponseWriter, r *http.Request)
- func (self *Oauth2Server) HandleOpenIDConfiguration(w http.ResponseWriter, r *http.Request)
- func (self *Oauth2Server) HandleToken(w http.ResponseWriter, r *http.Request)
- func (self *Oauth2Server) HandleUserinfo(w http.ResponseWriter, r *http.Request)
- func (self *Oauth2Server) PasswordAuthorizationHandler(ctx context.Context, clientID, username, password string) (userID string, err error)
- type RedirectType
- type WellKnownConfig
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func BuildOauthRedirect ¶
Types ¶
type LoginPageData ¶
type LoginPageData struct { ClientID string LoginURI string RedirectURI string ResponseType string State string Scope string Error string ErrorMessage string PageKey string }
LoginPageData holds the data to be passed to the login template
type Oauth2Server ¶
type Oauth2Server struct { Ctx context.Context Cfg *config.Config Repository repositories.RepositoriesInterface Srv *server.Server PrivateKey *rsa.PrivateKey Kid string StringCache *cache.RedisCache[string] }
func (*Oauth2Server) HandleAuthorize ¶
func (self *Oauth2Server) HandleAuthorize(w http.ResponseWriter, r *http.Request)
HandleAuthorize handles the OAuth2 authorization request
func (*Oauth2Server) HandleJWKS ¶
func (self *Oauth2Server) HandleJWKS(w http.ResponseWriter, r *http.Request)
HandleJWKS returns your server's public key in JWKS format
func (*Oauth2Server) HandleLoginPage ¶
func (self *Oauth2Server) HandleLoginPage(w http.ResponseWriter, r *http.Request)
HandleLoginPage renders a styled login form
func (*Oauth2Server) HandleOpenIDConfiguration ¶
func (self *Oauth2Server) HandleOpenIDConfiguration(w http.ResponseWriter, r *http.Request)
HandleWellKnown serves the OIDC Discovery document at /.well-known/openid-configuration
func (*Oauth2Server) HandleToken ¶
func (self *Oauth2Server) HandleToken(w http.ResponseWriter, r *http.Request)
func (*Oauth2Server) HandleUserinfo ¶
func (self *Oauth2Server) HandleUserinfo(w http.ResponseWriter, r *http.Request)
func (*Oauth2Server) PasswordAuthorizationHandler ¶
type RedirectType ¶
type RedirectType string
const ( RedirectLogin RedirectType = "login" RedirectAuthorize RedirectType = "authorize" )
type WellKnownConfig ¶
type WellKnownConfig struct { Issuer string `json:"issuer"` AuthorizationEndpoint string `json:"authorization_endpoint"` TokenEndpoint string `json:"token_endpoint"` UserinfoEndpoint string `json:"userinfo_endpoint,omitempty"` JWKSURI string `json:"jwks_uri,omitempty"` ResponseTypesSupported []string `json:"response_types_supported,omitempty"` SubjectTypesSupported []string `json:"subject_types_supported,omitempty"` IDTokenSigningAlgValuesSupported []string `json:"id_token_signing_alg_values_supported,omitempty"` ScopesSupported []string `json:"scopes_supported,omitempty"` }
WellKnownConfig holds the fields you want to return in /.well-known/openid-configuration
Click to show internal directories.
Click to hide internal directories.