summaryrefslogtreecommitdiff
path: root/srv/src/api/auth.go
diff options
context:
space:
mode:
authorBrian Picciano <mediocregopher@gmail.com>2022-05-19 22:44:33 -0600
committerBrian Picciano <mediocregopher@gmail.com>2022-05-19 22:44:33 -0600
commit3664286506f673737c0784b9cfd494cda1dc4618 (patch)
treeaa30b37e0d9057bf945eec0d3699404e08445b8b /srv/src/api/auth.go
parent8da42184eb26bbd35618d81e47bcd23b6ce21adb (diff)
Actually use the auth middleware for assets routes
Diffstat (limited to 'srv/src/api/auth.go')
-rw-r--r--srv/src/api/auth.go10
1 files changed, 6 insertions, 4 deletions
diff --git a/srv/src/api/auth.go b/srv/src/api/auth.go
index e668d7b..0d946a3 100644
--- a/srv/src/api/auth.go
+++ b/srv/src/api/auth.go
@@ -3,13 +3,14 @@ package api
import (
"net/http"
+ "github.com/mediocregopher/blog.mediocregopher.com/srv/api/apiutil"
"golang.org/x/crypto/bcrypt"
)
// NewPasswordHash returns the hash of the given plaintext password, for use
// with Auther.
func NewPasswordHash(plaintext string) string {
- hashedPassword, err := bcrypt.GenerateFromPassword([]byte(plaintext), 12)
+ hashedPassword, err := bcrypt.GenerateFromPassword([]byte(plaintext), 13)
if err != nil {
panic(err)
}
@@ -48,9 +49,10 @@ func (a *auther) Allowed(username, password string) bool {
func authMiddleware(auther Auther, h http.Handler) http.Handler {
- respondUnauthorized := func(rw http.ResponseWriter) {
+ respondUnauthorized := func(rw http.ResponseWriter, r *http.Request) {
rw.Header().Set("WWW-Authenticate", `Basic realm="NOPE"`)
rw.WriteHeader(http.StatusUnauthorized)
+ apiutil.GetRequestLogger(r).WarnString(r.Context(), "unauthorized")
}
return http.HandlerFunc(func(rw http.ResponseWriter, r *http.Request) {
@@ -58,12 +60,12 @@ func authMiddleware(auther Auther, h http.Handler) http.Handler {
username, password, ok := r.BasicAuth()
if !ok {
- respondUnauthorized(rw)
+ respondUnauthorized(rw, r)
return
}
if !auther.Allowed(username, password) {
- respondUnauthorized(rw)
+ respondUnauthorized(rw, r)
return
}