5
5
"net/http"
6
6
7
7
"github.com/dgrijalva/jwt-go"
8
- "github.com/netlify/git-gateway/conf"
9
8
"github.com/netlify/git-gateway/models"
10
9
)
11
10
@@ -31,41 +30,39 @@ func (a *API) loadJWSSignatureHeader(w http.ResponseWriter, r *http.Request) (co
31
30
32
31
func (a * API ) loadInstanceConfig (w http.ResponseWriter , r * http.Request ) (context.Context , error ) {
33
32
ctx := r .Context ()
33
+
34
34
signature := getSignature (ctx )
35
35
if signature == "" {
36
36
return nil , badRequestError ("Operator signature missing" )
37
37
}
38
38
39
- var config * conf.Configuration
40
- var instanceID string
41
-
42
39
claims := NetlifyMicroserviceClaims {}
43
40
p := jwt.Parser {ValidMethods : []string {jwt .SigningMethodHS256 .Name }}
44
41
_ , err := p .ParseWithClaims (signature , & claims , func (token * jwt.Token ) (interface {}, error ) {
45
- instanceID = claims .InstanceID
46
- if instanceID == "" {
47
- return nil , badRequestError ("Instance ID is missing" )
48
- }
42
+ return []byte (a .config .OperatorToken ), nil
43
+ })
44
+ if err != nil {
45
+ return nil , badRequestError ("Operator microservice signature is invalid: %v" , err )
46
+ }
49
47
50
- logEntrySetField (r , "instance_id" , instanceID )
51
- logEntrySetField (r , "netlify_id" , claims .NetlifyID )
52
- instance , err := a .db .GetInstance (instanceID )
53
- if err != nil {
54
- if models .IsNotFoundError (err ) {
55
- return nil , notFoundError ("Unable to locate site configuration" )
56
- }
57
- return nil , internalServerError ("Database error loading instance" ).WithInternalError (err )
58
- }
48
+ instanceID := claims .InstanceID
49
+ if instanceID == "" {
50
+ return nil , badRequestError ("Instance ID is missing" )
51
+ }
59
52
60
- config , err = instance .Config ()
61
- if err != nil {
62
- return nil , internalServerError ("Error loading environment config" ).WithInternalError (err )
53
+ logEntrySetField (r , "instance_id" , instanceID )
54
+ logEntrySetField (r , "netlify_id" , claims .NetlifyID )
55
+ instance , err := a .db .GetInstance (instanceID )
56
+ if err != nil {
57
+ if models .IsNotFoundError (err ) {
58
+ return nil , notFoundError ("Unable to locate site configuration" )
63
59
}
60
+ return nil , internalServerError ("Database error loading instance" ).WithInternalError (err )
61
+ }
64
62
65
- return []byte (config .JWT .Secret ), nil
66
- })
63
+ config , err := instance .Config ()
67
64
if err != nil {
68
- return nil , badRequestError ( "Operator microservice signature is invalid: %v" , err )
65
+ return nil , internalServerError ( "Error loading environment config" ). WithInternalError ( err )
69
66
}
70
67
71
68
ctx = withNetlifyID (ctx , claims .NetlifyID )
0 commit comments