From d6cbf10a006480f8446e1bb10fa9736cafd99df8 Mon Sep 17 00:00:00 2001 From: David Sharnoff Date: Wed, 20 Jul 2022 17:34:28 -0700 Subject: [PATCH] chore: make tokenEndpointCaller public --- pkg/client/client.go | 27 ++++++++++++--------------- pkg/client/jwt_profile.go | 4 ++-- 2 files changed, 14 insertions(+), 17 deletions(-) diff --git a/pkg/client/client.go b/pkg/client/client.go index 58986bb..d6d27f7 100644 --- a/pkg/client/client.go +++ b/pkg/client/client.go @@ -15,20 +15,17 @@ import ( "github.com/zitadel/oidc/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 = func() httphelper.Encoder { + e := schema.NewEncoder() + e.RegisterEncoder(oidc.SpaceDelimitedArray{}, func(value reflect.Value) string { + return value.Interface().(oidc.SpaceDelimitedArray).Encode() + }) + return e +}() -//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 +// 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 func Discover(issuer string, httpClient *http.Client, wellKnownUrl ...string) (*oidc.DiscoveryConfiguration, error) { - wellKnown := strings.TrimSuffix(issuer, "/") + oidc.DiscoveryEndpoint if len(wellKnownUrl) == 1 && wellKnownUrl[0] != "" { wellKnown = wellKnownUrl[0] @@ -48,16 +45,16 @@ func Discover(issuer string, httpClient *http.Client, wellKnownUrl ...string) (* return discoveryConfig, nil } -type tokenEndpointCaller interface { +type TokenEndpointCaller interface { TokenEndpoint() string HttpClient() *http.Client } -func CallTokenEndpoint(request interface{}, caller tokenEndpointCaller) (newToken *oauth2.Token, err error) { +func CallTokenEndpoint(request interface{}, caller TokenEndpointCaller) (newToken *oauth2.Token, err error) { return callTokenEndpoint(request, nil, caller) } -func callTokenEndpoint(request interface{}, authFn interface{}, caller tokenEndpointCaller) (newToken *oauth2.Token, err error) { +func callTokenEndpoint(request interface{}, authFn interface{}, caller TokenEndpointCaller) (newToken *oauth2.Token, err error) { req, err := httphelper.FormRequest(caller.TokenEndpoint(), request, Encoder, authFn) if err != nil { return nil, err diff --git a/pkg/client/jwt_profile.go b/pkg/client/jwt_profile.go index 8bb6f4b..a711de9 100644 --- a/pkg/client/jwt_profile.go +++ b/pkg/client/jwt_profile.go @@ -9,8 +9,8 @@ import ( "github.com/zitadel/oidc/pkg/oidc" ) -//JWTProfileExchange handles the oauth2 jwt profile exchange -func JWTProfileExchange(jwtProfileGrantRequest *oidc.JWTProfileGrantRequest, caller tokenEndpointCaller) (*oauth2.Token, error) { +// JWTProfileExchange handles the oauth2 jwt profile exchange +func JWTProfileExchange(jwtProfileGrantRequest *oidc.JWTProfileGrantRequest, caller TokenEndpointCaller) (*oauth2.Token, error) { return CallTokenEndpoint(jwtProfileGrantRequest, caller) }