diff --git a/auth/jwt/transport.go b/auth/jwt/transport.go index 100a4a0..784788a 100644 --- a/auth/jwt/transport.go +++ b/auth/jwt/transport.go @@ -9,6 +9,11 @@ "github.com/go-kit/kit/transport/http" "golang.org/x/net/context" "google.golang.org/grpc/metadata" +) + +const ( + BEARER string = "bearer" + BEARER_FORMAT string = "Bearer %s" ) // moves JWT token from request header to context @@ -71,13 +76,14 @@ // extractTokenFromAuthHeader returns the token from the value of the Authorzation header func extractTokenFromAuthHeader(val string) (token string, ok bool) { - if len(val) < 8 || !strings.EqualFold(val[0:7], "BEARER ") { + authHeaderParts := strings.Split(val, " ") + if len(authHeaderParts) != 2 || strings.ToLower(authHeaderParts[0]) != BEARER { return "", false } - return val[7:], true + return authHeaderParts[1], true } func generateAuthHeaderFromToken(token string) string { - return fmt.Sprintf("Bearer %s", token) + return fmt.Sprintf(BEARER_FORMAT, token) }