AJ ONeal
2 years ago
No known key found for this signature in database
GPG Key ID: 562702827EF68D87
3 changed files with
11 additions and
7 deletions
-
README.md
-
chiauth/chiauth.go
-
examples/server.go
|
|
@ -39,9 +39,8 @@ func main() { |
|
|
|
r.Use(tokenVerifier) |
|
|
|
|
|
|
|
r.Post("/api/users/profile", func(w http.ResponseWriter, r *http.Request) { |
|
|
|
ctx := r.Context() |
|
|
|
jws, ok := ctx.Value(chiauth.JWSKey).(*libauth.JWS) |
|
|
|
if !ok || !jws.Trusted { |
|
|
|
jws := chiauth.GetJWS(r) |
|
|
|
if nil == jws || !jws.Trusted { |
|
|
|
http.Error(w, "Unauthorized", http.StatusUnauthorized) |
|
|
|
return |
|
|
|
} |
|
|
|
|
|
@ -88,3 +88,10 @@ func NewTokenVerifier(opts VerificationParams) func(http.Handler) http.Handler { |
|
|
|
}) |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
// GetJWS retrieves *libauth.JWS from r.Context()
|
|
|
|
func GetJWS(r *http.Request) *libauth.JWS { |
|
|
|
ctx := r.Context() |
|
|
|
jws, _ := ctx.Value(JWSKey).(*libauth.JWS) |
|
|
|
return jws |
|
|
|
} |
|
|
|
|
|
@ -10,7 +10,6 @@ import ( |
|
|
|
"github.com/go-chi/chi/v5" |
|
|
|
|
|
|
|
"git.rootprojects.org/root/keypairs/keyfetch" |
|
|
|
"git.rootprojects.org/root/libauth" |
|
|
|
"git.rootprojects.org/root/libauth/chiauth" |
|
|
|
) |
|
|
|
|
|
|
@ -38,9 +37,8 @@ func main() { |
|
|
|
r.Use(tokenVerifier) |
|
|
|
|
|
|
|
r.Post("/api/users/profile", func(w http.ResponseWriter, r *http.Request) { |
|
|
|
ctx := r.Context() |
|
|
|
jws, ok := ctx.Value(chiauth.JWSKey).(*libauth.JWS) |
|
|
|
if !ok || !jws.Trusted { |
|
|
|
jws := chiauth.GetJWS(r) |
|
|
|
if nil == jws || !jws.Trusted { |
|
|
|
http.Error(w, "Unauthorized", http.StatusUnauthorized) |
|
|
|
return |
|
|
|
} |
|
|
|