Merge pull request #846 from harshavardhana/new-changes

With new auth config changes, restructure the API code to use the new style
master
Harshavardhana 9 years ago
commit ac93bbb41d
  1. 11
      pkg/server/api/generic-handlers.go
  2. 20
      pkg/server/api/signature.go

@ -142,11 +142,14 @@ func (h validateAuthHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) {
return return
} }
// Access key not found // Access key not found
if _, ok := authConfig.Users[accessKeyID]; !ok { for _, user := range authConfig.Users {
writeErrorResponse(w, r, InvalidAccessKeyID, acceptsContentType, r.URL.Path) if user.AccessKeyID == accessKeyID {
return h.handler.ServeHTTP(w, r)
return
}
} }
h.handler.ServeHTTP(w, r) writeErrorResponse(w, r, InvalidAccessKeyID, acceptsContentType, r.URL.Path)
return
default: default:
// control reaches here, we should just send the request up the stack - internally // control reaches here, we should just send the request up the stack - internally
// individual calls will validate themselves against un-authenticated requests // individual calls will validate themselves against un-authenticated requests

@ -79,14 +79,16 @@ func InitSignatureV4(req *http.Request) (*donut.Signature, *probe.Error) {
if err != nil { if err != nil {
return nil, err.Trace() return nil, err.Trace()
} }
if _, ok := authConfig.Users[accessKeyID]; !ok { for _, user := range authConfig.Users {
return nil, probe.NewError(errors.New("AccessID not found")) if user.AccessKeyID == accessKeyID {
} signature := &donut.Signature{
signature := &donut.Signature{ AccessKeyID: user.AccessKeyID,
AccessKeyID: authConfig.Users[accessKeyID].AccessKeyID, SecretAccessKey: user.SecretAccessKey,
SecretAccessKey: authConfig.Users[accessKeyID].SecretAccessKey, AuthHeader: ah,
AuthHeader: ah, Request: req,
Request: req, }
return signature, nil
}
} }
return signature, nil return nil, probe.NewError(errors.New("AccessID not found"))
} }

Loading…
Cancel
Save