Skip to content

Commit 4187884

Browse files
authored
fix: read send_access_token when parsing config (#215)
Signed-off-by: Fabian Kammel <fabian@kammel.dev>
1 parent 6c844ed commit 4187884

File tree

2 files changed

+41
-16
lines changed

2 files changed

+41
-16
lines changed

commands/config/client_config_test.go

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,5 +51,28 @@ func TestParseConfig(t *testing.T) {
5151
clientConfigDefault, err = NewClientConfig([]byte("invalid yaml"))
5252
require.ErrorContains(t, err, "yaml: unmarshal errors")
5353
require.Nil(t, clientConfigDefault)
54+
}
55+
56+
func TestParseConfigWithSendAccessToken(t *testing.T) {
57+
c := `---
58+
default_provider: webchooser
5459
60+
providers:
61+
- alias: google
62+
issuer: https://accounts.google.com
63+
client_id: 206584157355-7cbe4s640tvm7naoludob4ut1emii7sf.apps.googleusercontent.com
64+
client_secret: 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
65+
scopes: openid email profile
66+
access_type: offline
67+
send_access_token: true
68+
prompt: consent
69+
redirect_uris:
70+
- http://localhost:3000/login-callback
71+
- http://localhost:10001/login-callback
72+
- http://localhost:11110/login-callback`
73+
74+
clientConfig, err := NewClientConfig([]byte(c))
75+
require.NoError(t, err)
76+
require.NotNil(t, clientConfig)
77+
require.Equal(t, clientConfig.Providers[0].SendAccessToken, true)
5578
}

commands/config/providerconfig.go

Lines changed: 18 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -45,14 +45,15 @@ type ProviderConfig struct {
4545

4646
func (p *ProviderConfig) UnmarshalYAML(value *yaml.Node) error {
4747
var tmp struct {
48-
AliasList string `yaml:"alias"`
49-
Issuer string `yaml:"issuer"`
50-
ClientID string `yaml:"client_id"`
51-
ClientSecret string `yaml:"client_secret"`
52-
Scopes string `yaml:"scopes"`
53-
AccessType string `yaml:"access_type"`
54-
Prompt string `yaml:"prompt"`
55-
RedirectURIs []string `yaml:"redirect_uris"`
48+
AliasList string `yaml:"alias"`
49+
Issuer string `yaml:"issuer"`
50+
ClientID string `yaml:"client_id"`
51+
ClientSecret string `yaml:"client_secret"`
52+
Scopes string `yaml:"scopes"`
53+
AccessType string `yaml:"access_type"`
54+
Prompt string `yaml:"prompt"`
55+
RedirectURIs []string `yaml:"redirect_uris"`
56+
SendAccessToken bool `yaml:"send_access_token,omitempty"`
5657
}
5758

5859
// Set default values
@@ -69,14 +70,15 @@ func (p *ProviderConfig) UnmarshalYAML(value *yaml.Node) error {
6970
return err
7071
}
7172
*p = ProviderConfig{
72-
AliasList: strings.Fields(tmp.AliasList),
73-
Issuer: tmp.Issuer,
74-
ClientID: tmp.ClientID,
75-
ClientSecret: tmp.ClientSecret,
76-
Scopes: strings.Fields(tmp.Scopes),
77-
AccessType: tmp.AccessType,
78-
Prompt: tmp.Prompt,
79-
RedirectURIs: tmp.RedirectURIs,
73+
AliasList: strings.Fields(tmp.AliasList),
74+
Issuer: tmp.Issuer,
75+
ClientID: tmp.ClientID,
76+
ClientSecret: tmp.ClientSecret,
77+
Scopes: strings.Fields(tmp.Scopes),
78+
AccessType: tmp.AccessType,
79+
Prompt: tmp.Prompt,
80+
RedirectURIs: tmp.RedirectURIs,
81+
SendAccessToken: tmp.SendAccessToken,
8082
}
8183
return nil
8284
}

0 commit comments

Comments
 (0)