Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func BasicAuth ¶
func BasicAuth(o AuthOptions) func(http.Handler) http.Handler
BasicAuth provides HTTP middleware for protecting URIs with HTTP Basic Authentication as per RFC 2617. The server authenticates a user:password combination provided in the "Authorization" HTTP header.
Example:
package main import( "net/http" "github.com/zenazn/goji" "github.com/zenazn/goji/web/httpauth" ) func main() { basicOpts := httpauth.AuthOptions{ Realm: "Restricted", User: "Dave", Password: "ClearText", } goji.Use(httpauth.BasicAuth(basicOpts), SomeOtherMiddleware) goji.Get("/thing", myHandler) }
Note: HTTP Basic Authentication credentials are sent in plain text, and therefore it does not make for a wholly secure authentication mechanism. You should serve your content over HTTPS to mitigate this, noting that "Basic Authentication" is meant to be just that: basic!
func SimpleBasicAuth ¶
SimpleBasicAuth is a convenience wrapper around BasicAuth. It takes a user and password, and returns a pre-configured BasicAuth handler using the "Restricted" realm and a default 401 handler.
Example:
package main import( "net/http" "github.com/zenazn/goji/web/httpauth" ) func main() { goji.Use(httpauth.SimpleBasicAuth("dave", "somepassword"), SomeOtherMiddleware) goji.Get("/thing", myHandler) }
Types ¶
type AuthOptions ¶
type AuthOptions struct { Realm string User string Password string AuthFunc func(username string, password string) bool }
AuthOptions stores the configuration for HTTP Basic Authentication.
A http.Handler may also be passed to UnauthorizedHandler to override the default error handler if you wish to serve a custom template/response.
Either supply a User+Password or an AuthFunc.