Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
Functions ¶
func NewAuthenticationResponseWriter ¶
func NewAuthenticationResponseWriter(request *http.Request, response http.ResponseWriter, authFlow *authFlow, session *LoginSession) http.ResponseWriter
Types ¶
type AuthenticationFlow ¶
type AuthenticationFlow interface { Start(flow string, providerNames []string, request *http.Request, response http.ResponseWriter, run func(w http.ResponseWriter, session *LoginSession) error) Continue(provider string, w http.ResponseWriter, req *http.Request, run func(w http.ResponseWriter, session *LoginSession) error) Finish(flow string, response http.ResponseWriter, request *http.Request, run func(w http.ResponseWriter, session *LoginSession) (string, error)) Failure(response http.ResponseWriter, request *http.Request, session *LoginSession, err error) }
func NewAuthenticationFlow ¶
func NewAuthenticationFlow(logger logging.Logger, jweService jwe.JWEService) AuthenticationFlow
type LoginSession ¶
type LoginSession struct { jwe.Claims // CSRF state token used during login State State `json:"st"` // Domain this was created under and only usable under. Origin string `json:"or"` // Flow this session was stated with and must end with Flow string `json:"fl"` // List of available providers for the tenantID Providers []string `json:"ps,omitempty"` // Provider that supplied the SubjectID Provider string `json:"pv,omitempty"` // Unique ID of the user under the external provider. SubjectID string `json:"si,omitempty"` // Set during logging in everytime and used to look up credentials Issuer *string `json:"pi"` // Issuer attribute of the login // IP Address of the login IP string `json:"ip"` // Scope of what this token is allow to do. Scopes []string `json:"scp"` // Login URL for the start of the flow LoginURL string `json:"lu"` // Store whatever we can get from the OIDC provider if the invite code isn't empty identity.Register }
type SessionConfig ¶
Click to show internal directories.
Click to hide internal directories.