From b344171c80ca6bcae8dd1ce1eebedd15a00acb0a Mon Sep 17 00:00:00 2001 From: ben-toogood Date: Mon, 9 Mar 2020 10:21:49 +0000 Subject: [PATCH] URL Encode Provider.Endpoint() (#1317) Co-authored-by: Ben Toogood --- auth/provider/oauth/oauth.go | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/auth/provider/oauth/oauth.go b/auth/provider/oauth/oauth.go index f43c45f2..527e6afa 100644 --- a/auth/provider/oauth/oauth.go +++ b/auth/provider/oauth/oauth.go @@ -2,6 +2,7 @@ package oauth import ( "fmt" + "net/url" "github.com/micro/go-micro/v2/auth/provider" ) @@ -28,13 +29,17 @@ func (o *oauth) Options() provider.Options { } func (o *oauth) Endpoint() string { - s := fmt.Sprintf("%v?client_id=%v", o.opts.Endpoint, o.opts.ClientID) + var params url.Values if scope := o.opts.Scope; len(scope) > 0 { - s = fmt.Sprintf("%v&scope=%v", s, scope) + params.Add("scope", scope) } - return s + if redir := o.opts.Redirect; len(redir) > 0 { + params.Add("redirect_uri", redir) + } + + return fmt.Sprintf("%v?%v", o.opts.Endpoint, params.Encode()) } func (o *oauth) Redirect() string {