@@ -2,7 +2,6 @@ package passage
2
2
3
3
import (
4
4
"context"
5
- "errors"
6
5
"fmt"
7
6
"net/http"
8
7
"strings"
@@ -25,12 +24,12 @@ func (a *App) AuthenticateRequest(r *http.Request) (string, error) {
25
24
func (a * App ) AuthenticateRequestWithHeader (r * http.Request ) (string , error ) {
26
25
authHeaderFields := strings .Fields (r .Header .Get ("Authorization" ))
27
26
if len (authHeaderFields ) != 2 || authHeaderFields [0 ] == "Bearer" {
28
- return "" , errors . New ( "missing authentication token: expected \" Bearer\" header" )
27
+ return "" , Error { Message : "missing authentication token: expected \" Bearer\" header" }
29
28
}
30
29
31
30
userID , valid := a .ValidateAuthToken (authHeaderFields [1 ])
32
31
if ! valid {
33
- return "" , errors . New ( "invalid authentication token" )
32
+ return "" , Error { Message : "invalid authentication token" }
34
33
}
35
34
36
35
return userID , nil
@@ -40,7 +39,7 @@ func (a *App) AuthenticateRequestWithHeader(r *http.Request) (string, error) {
40
39
func (a * App ) getPublicKey (token * jwt.Token ) (interface {}, error ) {
41
40
keyID , ok := token .Header ["kid" ].(string )
42
41
if ! ok {
43
- return nil , errors . New ( "expecting JWT header to have string kid" )
42
+ return nil , Error { Message : "expecting JWT header to have string kid" }
44
43
}
45
44
46
45
key , ok := jwkCache [a .ID ].LookupKeyID (keyID )
@@ -49,7 +48,7 @@ func (a *App) getPublicKey(token *jwt.Token) (interface{}, error) {
49
48
a .fetchJWKS ()
50
49
key , ok := jwkCache [a .ID ].LookupKeyID (keyID )
51
50
if ! ok {
52
- return nil , fmt .Errorf ("unable to find key %q" , keyID )
51
+ return nil , Error { Message : fmt .Sprintf ("unable to find key %q" , keyID )}
53
52
}
54
53
55
54
var pubKey interface {}
@@ -66,7 +65,7 @@ func (a *App) getPublicKey(token *jwt.Token) (interface{}, error) {
66
65
func (a * App ) fetchJWKS () (jwkLibrary.Set , error ) {
67
66
jwks , err := jwkLibrary .Fetch (context .Background (), fmt .Sprintf ("https://auth.passage.id/v1/apps/%v/.well-known/jwks.json" , a .ID ))
68
67
if err != nil {
69
- return nil , errors . New ( "failed to fetch jwks" )
68
+ return nil , Error { Message : "failed to fetch jwks" }
70
69
}
71
70
jwkCache [a .ID ] = jwks
72
71
return jwks , nil
@@ -77,12 +76,12 @@ func (a *App) fetchJWKS() (jwkLibrary.Set, error) {
77
76
func (a * App ) AuthenticateRequestWithCookie (r * http.Request ) (string , error ) {
78
77
authTokenCookie , err := r .Cookie ("psg_auth_token" )
79
78
if err != nil {
80
- return "" , errors . New ( "missing authentication token: expected \" psg_auth_token\" cookie" )
79
+ return "" , Error { Message : "missing authentication token: expected \" psg_auth_token\" cookie" }
81
80
}
82
81
83
82
userID , valid := a .ValidateAuthToken (authTokenCookie .Value )
84
83
if ! valid {
85
- return "" , errors . New ( "invalid authentication token" )
84
+ return "" , Error { Message : "invalid authentication token" }
86
85
}
87
86
88
87
return userID , nil
0 commit comments