From 20ce61da5a16fd77913e67429d665c8b7d74b570 Mon Sep 17 00:00:00 2001 From: ben-toogood Date: Thu, 12 Mar 2020 13:11:35 +0000 Subject: [PATCH] Oauth google fixes (#1330) * Fix Auth Headers * Tweak Oauth to work for Google Co-authored-by: Ben Toogood Co-authored-by: Asim Aslam --- auth/provider/oauth/oauth.go | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/auth/provider/oauth/oauth.go b/auth/provider/oauth/oauth.go index 527e6afa..52ae08a6 100644 --- a/auth/provider/oauth/oauth.go +++ b/auth/provider/oauth/oauth.go @@ -3,6 +3,7 @@ package oauth import ( "fmt" "net/url" + "strings" "github.com/micro/go-micro/v2/auth/provider" ) @@ -29,13 +30,19 @@ func (o *oauth) Options() provider.Options { } func (o *oauth) Endpoint() string { - var params url.Values + params := make(url.Values) + params.Add("response_type", "code") - if scope := o.opts.Scope; len(scope) > 0 { - params.Add("scope", scope) + if clientID := o.opts.ClientID; len(clientID) > 0 { + params.Add("client_id", clientID) } - if redir := o.opts.Redirect; len(redir) > 0 { + if scope := o.opts.Scope; len(scope) > 0 { + // spaces are url encoded since this cannot be passed in env vars + params.Add("scope", strings.ReplaceAll(scope, "%20", " ")) + } + + if redir := o.Redirect(); len(redir) > 0 { params.Add("redirect_uri", redir) }