| ... | ... |
@@ -1,6 +1,7 @@ |
| 1 | 1 |
package bearertoken |
| 2 | 2 |
|
| 3 | 3 |
import ( |
| 4 |
+ "errors" |
|
| 4 | 5 |
"net/http" |
| 5 | 6 |
"strings" |
| 6 | 7 |
|
| ... | ... |
@@ -19,6 +20,8 @@ func New(auth authenticator.Token, removeHeader bool) *Authenticator {
|
| 19 | 19 |
return &Authenticator{auth, removeHeader}
|
| 20 | 20 |
} |
| 21 | 21 |
|
| 22 |
+var invalidToken = errors.New("invalid bearer token")
|
|
| 23 |
+ |
|
| 22 | 24 |
func (a *Authenticator) AuthenticateRequest(req *http.Request) (user.Info, bool, error) {
|
| 23 | 25 |
auth := strings.TrimSpace(req.Header.Get("Authorization"))
|
| 24 | 26 |
if auth == "" {
|
| ... | ... |
@@ -40,5 +43,8 @@ func (a *Authenticator) AuthenticateRequest(req *http.Request) (user.Info, bool, |
| 40 | 40 |
if ok && a.removeHeader {
|
| 41 | 41 |
req.Header.Del("Authorization")
|
| 42 | 42 |
} |
| 43 |
+ if !ok && err == nil {
|
|
| 44 |
+ err = invalidToken |
|
| 45 |
+ } |
|
| 43 | 46 |
return user, ok, err |
| 44 | 47 |
} |