fix: use the same schema encoder everywhere (#299)

properly register SpaceDelimitedArray for all instances
of schema.Encoder inside the oidc framework.

Closes #295
This commit is contained in:
Tim Möhlmann 2023-03-02 15:24:44 +02:00 committed by GitHub
parent fc1a80d274
commit 4dca29f1f9
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 33 additions and 13 deletions

View file

@ -8,11 +8,9 @@ import (
"io"
"net/http"
"net/url"
"reflect"
"strings"
"time"
"github.com/gorilla/schema"
"golang.org/x/oauth2"
"gopkg.in/square/go-jose.v2"
@ -21,13 +19,7 @@ import (
"github.com/zitadel/oidc/v2/pkg/oidc"
)
var Encoder = func() httphelper.Encoder {
e := schema.NewEncoder()
e.RegisterEncoder(oidc.SpaceDelimitedArray{}, func(value reflect.Value) string {
return value.Interface().(oidc.SpaceDelimitedArray).Encode()
})
return e
}()
var Encoder = httphelper.Encoder(oidc.NewEncoder())
// Discover calls the discovery endpoint of the provided issuer and returns its configuration
// It accepts an optional argument "wellknownUrl" which can be used to overide the dicovery endpoint url