mirror of
https://github.com/coder/coder.git
synced 2026-09-24 15:04:27 +08:00
fix(coderd)!: add CODER_OIDC_IGNORE_USERINFO configuration option (#6922)
* add CODER_OIDC_IGNORE_USERINFO option * chore: update docs for CODER_OIDC_IGNORE_USERINFO w.r.t ADFS * fix!: codersdk: fix incorrectly named OIDC_GROUP_MAPPING -> CODER_OIDC_GROUP_MAPPING
This commit is contained in:
@@ -731,6 +731,7 @@ func (r *RootCmd) Server(newAPI func(context.Context, *coderd.Options) (*coderd.
|
||||
UsernameField: cfg.OIDC.UsernameField.String(),
|
||||
EmailField: cfg.OIDC.EmailField.String(),
|
||||
AuthURLParams: cfg.OIDC.AuthURLParams.Value,
|
||||
IgnoreUserInfo: cfg.OIDC.IgnoreUserInfo.Value(),
|
||||
GroupField: cfg.OIDC.GroupField.String(),
|
||||
GroupMapping: cfg.OIDC.GroupMapping.Value,
|
||||
SignInText: cfg.OIDC.SignInText.String(),
|
||||
|
||||
@@ -1086,6 +1086,7 @@ func TestServer(t *testing.T) {
|
||||
require.Equal(t, "preferred_username", deploymentConfig.Values.OIDC.UsernameField.Value())
|
||||
require.Equal(t, "email", deploymentConfig.Values.OIDC.EmailField.Value())
|
||||
require.Equal(t, map[string]string{"access_type": "offline"}, deploymentConfig.Values.OIDC.AuthURLParams.Value)
|
||||
require.False(t, deploymentConfig.Values.OIDC.IgnoreUserInfo.Value())
|
||||
require.Empty(t, deploymentConfig.Values.OIDC.GroupField.Value())
|
||||
require.Empty(t, deploymentConfig.Values.OIDC.GroupMapping.Value)
|
||||
require.Equal(t, "OpenID Connect", deploymentConfig.Values.OIDC.SignInText.Value())
|
||||
@@ -1125,6 +1126,7 @@ func TestServer(t *testing.T) {
|
||||
"--oidc-username-field", "not_preferred_username",
|
||||
"--oidc-email-field", "not_email",
|
||||
"--oidc-auth-url-params", `{"prompt":"consent"}`,
|
||||
"--oidc-ignore-userinfo",
|
||||
"--oidc-group-field", "serious_business_unit",
|
||||
"--oidc-group-mapping", `{"serious_business_unit": "serious_business_unit"}`,
|
||||
"--oidc-sign-in-text", "Sign In With Coder",
|
||||
@@ -1169,6 +1171,7 @@ func TestServer(t *testing.T) {
|
||||
require.True(t, deploymentConfig.Values.OIDC.IgnoreEmailVerified.Value())
|
||||
require.Equal(t, "not_preferred_username", deploymentConfig.Values.OIDC.UsernameField.Value())
|
||||
require.Equal(t, "not_email", deploymentConfig.Values.OIDC.EmailField.Value())
|
||||
require.True(t, deploymentConfig.Values.OIDC.IgnoreUserInfo.Value())
|
||||
require.Equal(t, map[string]string{"prompt": "consent"}, deploymentConfig.Values.OIDC.AuthURLParams.Value)
|
||||
require.Equal(t, "serious_business_unit", deploymentConfig.Values.OIDC.GroupField.Value())
|
||||
require.Equal(t, map[string]string{"serious_business_unit": "serious_business_unit"}, deploymentConfig.Values.OIDC.GroupMapping.Value)
|
||||
|
||||
+5
-1
@@ -280,13 +280,17 @@ can safely ignore these settings.
|
||||
Change the OIDC default 'groups' claim field. By default, will be
|
||||
'groups' if present in the oidc scopes argument.
|
||||
|
||||
--oidc-group-mapping struct[map[string]string], $OIDC_GROUP_MAPPING (default: {})
|
||||
--oidc-group-mapping struct[map[string]string], $CODER_OIDC_GROUP_MAPPING (default: {})
|
||||
A map of OIDC group IDs and the group in Coder it should map to. This
|
||||
is useful for when OIDC providers only return group IDs.
|
||||
|
||||
--oidc-ignore-email-verified bool, $CODER_OIDC_IGNORE_EMAIL_VERIFIED
|
||||
Ignore the email_verified claim from the upstream provider.
|
||||
|
||||
--oidc-ignore-userinfo bool, $CODER_OIDC_IGNORE_USERINFO (default: false)
|
||||
Ignore the userinfo endpoint and only use the ID token for user
|
||||
information.
|
||||
|
||||
--oidc-issuer-url string, $CODER_OIDC_ISSUER_URL
|
||||
Issuer URL to use for Login with OIDC.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user