Allow clearing default Azure and Google auth code options (#4315)

Allow users to clear the default IdP auth code options, by explicitly
setting an empty idp_request_params map.

To do this in a YAML config file, set:

    idp_request_params: {}
This commit is contained in:
Kenneth Jenkins 2023-06-27 09:11:54 -07:00 committed by GitHub
parent 1f839554c9
commit 2bf83e20d8
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 70 additions and 2 deletions

View file

@ -977,6 +977,28 @@ func TestOptions_GetCSRFSameSite(t *testing.T) {
}
}
func TestOptions_RequestParams(t *testing.T) {
cases := []struct {
label string
config string
expected map[string]string
}{
{"not present", "", nil},
{"explicitly empty", "idp_request_params: {}", map[string]string{}},
}
cfg := filepath.Join(t.TempDir(), "config.yaml")
for i := range cases {
c := &cases[i]
t.Run(c.label, func(t *testing.T) {
err := os.WriteFile(cfg, []byte(c.config), 0644)
require.NoError(t, err)
o, err := newOptionsFromConfig(cfg)
require.NoError(t, err)
assert.Equal(t, c.expected, o.RequestParams)
})
}
}
func encodeCert(cert *tls.Certificate) []byte {
return pem.EncodeToMemory(&pem.Block{Type: "CERTIFICATE", Bytes: cert.Certificate[0]})
}