fix(authelia): explicit custom attribute configuration

Signed-off-by: Vegard Hagen <[email protected]>
This commit is contained in:
Vegard Hagen
2025-07-13 15:46:41 +02:00
parent 838a335ecc
commit f5841b4a3b
3 changed files with 20 additions and 21 deletions
@@ -44,8 +44,8 @@
"updated_at": "Profile Update Time", "updated_at": "Profile Update Time",
"website": "Website URL", "website": "Website URL",
"zoneinfo": "Timezone", "zoneinfo": "Timezone",
"argocd": "Argo CD permissions", "argocd_claim": "Argo CD Membership",
"audiobookshelf": "Audiobookshelf permissions" "audiobookshelf": "Audiobookshelf Membership"
}, },
"scopes": { "scopes": {
"address": "Access your address", "address": "Access your address",
@@ -56,7 +56,7 @@
"openid": "Use OpenID to verify your identity", "openid": "Use OpenID to verify your identity",
"phone": "Access your phone number", "phone": "Access your phone number",
"profile": "Access your profile information", "profile": "Access your profile information",
"argocd": "Argo CD", "argocd_scope": "Access Argo CD memberships",
"audiobookshelf": "Audiobookshelf" "audiobookshelf": "Access Audiobookshelf memberships"
} }
} }
+10 -10
View File
@@ -88,10 +88,10 @@ configMap:
allowed_origins_from_client_redirect_uris: true allowed_origins_from_client_redirect_uris: true
endpoints: [ userinfo, authorization, token, revocation, introspection ] endpoints: [ userinfo, authorization, token, revocation, introspection ]
claims_policies: claims_policies:
argocd: argocd_policy:
custom_claims: { argocd: { attribute: argocd } } custom_claims: { argocd_claim: { attribute: argocd } }
# Argo CD requires the claims other than `groups` to be in the ID Token https://github.com/argoproj/argo-cd/issues/23768 # Argo CD requires the claims other than `groups` to be in the ID Token https://github.com/argoproj/argo-cd/issues/23768
id_token: [ email, name, preferred_username, argocd ] id_token: [ email, email_verified, alt_emails, name, preferred_username, argocd_claim ]
audiobookshelf: audiobookshelf:
custom_claims: { audiobookshelf: { attribute: audiobookshelf } } custom_claims: { audiobookshelf: { attribute: audiobookshelf } }
# https://www.authelia.com/integration/openid-connect/openid-connect-1.0-claims/#restore-functionality-prior-to-claims-parameter # https://www.authelia.com/integration/openid-connect/openid-connect-1.0-claims/#restore-functionality-prior-to-claims-parameter
@@ -100,8 +100,8 @@ configMap:
username_email: username_email:
id_token: [ email, email_verified, alt_emails, name, preferred_username ] id_token: [ email, email_verified, alt_emails, name, preferred_username ]
scopes: scopes:
argocd: argocd_scope:
claims: [ argocd ] claims: [ argocd_claim ]
audiobookshelf: audiobookshelf:
claims: [ audiobookshelf ] claims: [ audiobookshelf ]
clients: clients:
@@ -110,13 +110,13 @@ configMap:
client_name: Argo CD client_name: Argo CD
public: false public: false
authorization_policy: two_factor authorization_policy: two_factor
claims_policy: argocd claims_policy: argocd_policy
pre_configured_consent_duration: 1 month pre_configured_consent_duration: 1 month
require_pkce: true require_pkce: false
redirect_uris: redirect_uris:
- https://argocd.stonegarden.dev/auth/callback - https://argocd.stonegarden.dev/auth/callback
- https://argocd.stonegarden.dev/applications - https://argocd.stonegarden.dev/applications
scopes: [ openid, email, profile, offline_access, argocd ] scopes: [ openid, email, profile, offline_access, argocd_scope ]
grant_types: [ authorization_code, refresh_token ] grant_types: [ authorization_code, refresh_token ]
userinfo_signed_response_alg: none userinfo_signed_response_alg: none
id_token_signed_response_alg: ES256 id_token_signed_response_alg: ES256
@@ -126,10 +126,10 @@ configMap:
client_name: Argo CD (CLI) client_name: Argo CD (CLI)
public: true public: true
authorization_policy: two_factor authorization_policy: two_factor
claims_policy: argocd claims_policy: argocd_policy
pre_configured_consent_duration: 1 month pre_configured_consent_duration: 1 month
redirect_uris: [ http://localhost:8085/auth/callback ] redirect_uris: [ http://localhost:8085/auth/callback ]
scopes: [ openid, email, profile, offline_access, argocd ] scopes: [ openid, email, profile, offline_access, argocd_scope ]
id_token_signed_response_alg: ES256 id_token_signed_response_alg: ES256
access_token_signed_response_alg: ES256 access_token_signed_response_alg: ES256
revocation_endpoint_auth_method: none revocation_endpoint_auth_method: none
+5 -6
View File
@@ -13,14 +13,13 @@ configs:
clientID: 'argocd' clientID: 'argocd'
clientSecret: $oidc:authelia.clientSecret clientSecret: $oidc:authelia.clientSecret
cliClientID: 'argocd-cli' cliClientID: 'argocd-cli'
requestedScopes: [ 'openid' ] requestedScopes: [ 'openid', 'offline_access' ]
enableUserInfoGroups: true enableUserInfoGroups: true
requestedIDTokenClaims: requestedIDTokenClaims:
argocd: { essential: true } argocd_claim: { essential: true }
email: { essential: false }
name: { essential: false } name: { essential: false }
email: { essential: false }
preferred_username: { essential: false } preferred_username: { essential: false }
offline_access: { essential: false }
userInfoPath: /api/oidc/userinfo userInfoPath: /api/oidc/userinfo
userInfoCacheExpiration: '5m' userInfoCacheExpiration: '5m'
@@ -35,10 +34,10 @@ configs:
controller.diff.server.side: true controller.diff.server.side: true
server.insecure: true server.insecure: true
rbac: rbac:
scopes: '[ argocd ]' scopes: '[ argocd_claim ]'
policy.csv: | policy.csv: |
g, admin, role:admin g, admin, role:admin
g, read, role:readonly g, readonly, role:readonly
crds: crds:
install: true install: true