From 339d6de8bd8705a20aa437d74a658fbee59f54a2 Mon Sep 17 00:00:00 2001 From: ston1th Date: Wed, 3 Jan 2018 23:04:17 +0100 Subject: [PATCH] added empty token check and copyright --- LICENSE | 2 +- hash.go | 2 ++ jwt.go | 6 ++++++ jwt_test.go | 6 ++++++ 4 files changed, 15 insertions(+), 1 deletion(-) diff --git a/LICENSE b/LICENSE index 9e52d9b..115e96e 100644 --- a/LICENSE +++ b/LICENSE @@ -1,4 +1,4 @@ -Copyright (C) 2016 Marius Schellenberger +Copyright (C) 2018 Marius Schellenberger All rights reserved. Redistribution and use in source and binary forms, with or without diff --git a/hash.go b/hash.go index 171848a..2c224ab 100644 --- a/hash.go +++ b/hash.go @@ -1,3 +1,5 @@ +// Copyright (C) 2018 Marius Schellenberger + package jwt import ( diff --git a/jwt.go b/jwt.go index cfb6f43..a5a997d 100644 --- a/jwt.go +++ b/jwt.go @@ -1,3 +1,5 @@ +// Copyright (C) 2018 Marius Schellenberger + // Package jwt provides a easy to use JSON Web Token and blacklisting library package jwt @@ -24,6 +26,7 @@ const ( var ( ErrNoJWT = errors.New("not a json web token") + ErrEmptyToken = errors.New("token is empty") ErrUnsupportedAlg = errors.New("unsupported algorithm") ErrInvalid = errors.New("token validation failed") ErrBlacklisted = errors.New("token blacklisted") @@ -274,6 +277,9 @@ func (jwt *JWT) Stop() error { // DecodeToken decodes a raw string token into a *Token object func DecodeToken(token string) (t *Token, err error) { + if token == "" { + return nil, ErrEmptyToken + } parts := strings.Split(token, ".") if len(parts) < 3 { return nil, ErrMissingTokenParts diff --git a/jwt_test.go b/jwt_test.go index ad55a63..7a4673e 100644 --- a/jwt_test.go +++ b/jwt_test.go @@ -1,3 +1,5 @@ +// Copyright (C) 2018 Marius Schellenberger + package jwt import ( @@ -18,6 +20,10 @@ func TestValidate(t *testing.T) { if err != nil { t.Error(err) } + _, err = DecodeToken("") + if err == nil { + t.Error(errors.New("token is empty")) + } nt, err := DecodeToken(token.String()) if err != nil { t.Error(err)