How do I implement basic auth with a Golang site? So that when someone visits a page they will be prompted by their browser with a login.
In order to force a user to authenticate/make that basic auth prompt in the users browser appear you send the header WWW-Authenticate : Basic ream="mydomain"
So if you have a http.ResponseWriter
called w
, you can do
w.Header().Set("WWW-Authenticate", `Basic realm="mydomain"`)
Which will cause the browser to open the prompt you're referring to.
You could also use Echo's labstack project, which provides Basic Auth middleware:
e.Use(middleware.BasicAuth(func(username, password string, c echo.Context) (bool, error) {
// check username and password for a match here
}))
Use the code above to protect any route groups with basic authentication.