Documentation
¶
Index ¶
- Variables
- func ValidateOptions(o config.Options) error
- type Authenticate
- func (a *Authenticate) Handler() http.Handler
- func (a *Authenticate) OAuthCallback(w http.ResponseWriter, r *http.Request)
- func (a *Authenticate) RefreshAPI(w http.ResponseWriter, r *http.Request)
- func (a *Authenticate) RobotsTxt(w http.ResponseWriter, r *http.Request)
- func (a *Authenticate) SignIn(w http.ResponseWriter, r *http.Request)
- func (a *Authenticate) SignOut(w http.ResponseWriter, r *http.Request)
- func (a *Authenticate) VerifySession(next http.Handler) http.Handler
Constants ¶
This section is empty.
Variables ¶
var CSPHeaders = map[string]string{
"Content-Security-Policy": "default-src 'none'; style-src " +
"'sha256-spMkVDoBBY86p0RC1fBYwdnGyMypJM8eG57+p3VASyk=' " +
"'sha256-qnVkQSG7pWu17hBhIw0kCpfEB3XGvt0mNRa6+uM6OUU=' " +
"'sha256-qOdRsNZhtR+htazbcy7guQl3Cn1cqOw1FcE4d3llae0=';" +
"img-src 'self';",
"Referrer-Policy": "Same-origin",
}
CSPHeaders are the content security headers added to the service's handlers https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/script-src
Functions ¶
func ValidateOptions ¶ added in v0.0.5
ValidateOptions checks that configuration are complete and valid. Returns on first error found.
Types ¶
type Authenticate ¶ added in v0.0.2
type Authenticate struct { // RedirectURL is the authenticate service's externally accessible // url that the identity provider (IdP) will callback to following // authentication flow RedirectURL *url.URL // contains filtered or unexported fields }
Authenticate contains data required to run the authenticate service.
func New ¶ added in v0.0.2
func New(opts config.Options) (*Authenticate, error)
New validates and creates a new authenticate service from a set of Options.
func (*Authenticate) Handler ¶ added in v0.0.2
func (a *Authenticate) Handler() http.Handler
Handler returns the authenticate service's handler chain.
func (*Authenticate) OAuthCallback ¶ added in v0.0.2
func (a *Authenticate) OAuthCallback(w http.ResponseWriter, r *http.Request)
OAuthCallback handles the callback from the identity provider.
https://openid.net/specs/openid-connect-core-1_0.html#CodeFlowSteps https://openid.net/specs/openid-connect-core-1_0.html#AuthResponse
func (*Authenticate) RefreshAPI ¶ added in v0.5.0
func (a *Authenticate) RefreshAPI(w http.ResponseWriter, r *http.Request)
RefreshAPI loads a global state, and attempts to refresh the session's access tokens and state with the identity provider. If successful, a new signed JWT and refresh token (`refresh_token`) are returned as JSON
func (*Authenticate) RobotsTxt ¶ added in v0.0.2
func (a *Authenticate) RobotsTxt(w http.ResponseWriter, r *http.Request)
RobotsTxt handles the /robots.txt route.
func (*Authenticate) SignIn ¶ added in v0.0.2
func (a *Authenticate) SignIn(w http.ResponseWriter, r *http.Request)
SignIn handles to authenticating a user.
func (*Authenticate) SignOut ¶ added in v0.0.2
func (a *Authenticate) SignOut(w http.ResponseWriter, r *http.Request)
SignOut signs the user out and attempts to revoke the user's identity session Handles both GET and POST.
func (*Authenticate) VerifySession ¶ added in v0.4.0
func (a *Authenticate) VerifySession(next http.Handler) http.Handler
VerifySession is the middleware used to enforce a valid authentication session state is attached to the users's request context.