Browse Source

Merge pull request #816 from ericchiang/cherry-pick-k8s-storage-fix

storage/kubernetes: fix kubernetes storage conformance test failures
pull/821/head v2.2.1
Eric Chiang 9 years ago committed by GitHub
parent
commit
f8aec4c1c5
  1. 3
      storage/kubernetes/client.go
  2. 2
      storage/kubernetes/storage.go
  3. 7
      storage/kubernetes/types.go

3
storage/kubernetes/client.go

@ -135,6 +135,9 @@ func checkHTTPErr(r *http.Response, validStatusCodes ...int) error {
if r.StatusCode == http.StatusNotFound {
return storage.ErrNotFound
}
if r.Request.Method == "POST" && r.StatusCode == http.StatusConflict {
return storage.ErrAlreadyExists
}
var url, method string
if r.Request != nil {

2
storage/kubernetes/storage.go

@ -31,7 +31,7 @@ const (
resourceRefreshToken = "refreshtokens"
resourceKeys = "signingkeies" // Kubernetes attempts to pluralize.
resourcePassword = "passwords"
resourceOfflineSessions = "offlinesessions"
resourceOfflineSessions = "offlinesessionses" // Again attempts to pluralize.
)
// Config values for the Kubernetes storage type.

7
storage/kubernetes/types.go

@ -502,9 +502,14 @@ func (cli *client) fromStorageOfflineSessions(o storage.OfflineSessions) Offline
}
func toStorageOfflineSessions(o OfflineSessions) storage.OfflineSessions {
return storage.OfflineSessions{
s := storage.OfflineSessions{
UserID: o.UserID,
ConnID: o.ConnID,
Refresh: o.Refresh,
}
if s.Refresh == nil {
// Server code assumes this will be non-nil.
s.Refresh = make(map[string]*storage.RefreshTokenRef)
}
return s
}

Loading…
Cancel
Save