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.