f2e7823db9
Add an ability to fetch user's membership from groups of a different type by specifying multiple group attribute to user attribute value matchers in the Dex config: userMatchers: - userAttr: uid groupAttr: memberUid - userAttr: DN groupAttr: member In other words the user's groups can be fetched now from ldap structure similar to the following: dn: cn=john,ou=People,dc=example,dc=org objectClass: person objectClass: inetOrgPerson sn: doe cn: john uid: johndoe mail: johndoe@example.com userpassword: bar dn: cn=qa,ou=Groups,ou=Portland,dc=example,dc=org objectClass: groupOfNames cn: qa member: cn=john,ou=People,dc=example,dc=org dn: cn=logger,ou=UnixGroups,ou=Portland,dc=example,dc=org objectClass: posixGroup gidNumber: 1000 cn: logger memberUid: johndoe Signed-off-by: Vitaliy Dmitriev <vi7alya@gmail.com>
59 lines
1.4 KiB
YAML
59 lines
1.4 KiB
YAML
# Active Directory and kubelogin Integration sample
|
|
issuer: https://dex.example.com:32000/dex
|
|
storage:
|
|
type: sqlite3
|
|
config:
|
|
file: examples/dex.db
|
|
web:
|
|
https: 0.0.0.0:32000
|
|
tlsCert: openid-ca.pem
|
|
tlsKey: openid-key.pem
|
|
|
|
connectors:
|
|
- type: ldap
|
|
name: OpenLDAP
|
|
id: ldap
|
|
config:
|
|
host: localhost:636
|
|
|
|
# No TLS for this setup.
|
|
insecureNoSSL: false
|
|
insecureSkipVerify: true
|
|
|
|
# This would normally be a read-only user.
|
|
bindDN: cn=Administrator,cn=users,dc=example,dc=com
|
|
bindPW: admin0!
|
|
|
|
usernamePrompt: Email Address
|
|
|
|
userSearch:
|
|
baseDN: cn=Users,dc=example,dc=com
|
|
filter: "(objectClass=person)"
|
|
username: userPrincipalName
|
|
# "DN" (case sensitive) is a special attribute name. It indicates that
|
|
# this value should be taken from the entity's DN not an attribute on
|
|
# the entity.
|
|
idAttr: DN
|
|
emailAttr: userPrincipalName
|
|
nameAttr: cn
|
|
|
|
groupSearch:
|
|
baseDN: cn=Users,dc=example,dc=com
|
|
filter: "(objectClass=group)"
|
|
|
|
userMatchers:
|
|
# A user is a member of a group when their DN matches
|
|
# the value of a "member" attribute on the group entity.
|
|
- userAttr: DN
|
|
groupAttr: member
|
|
|
|
# The group name should be the "cn" value.
|
|
nameAttr: cn
|
|
|
|
staticClients:
|
|
- id: kubernetes
|
|
redirectURIs:
|
|
- 'http://localhost:8000'
|
|
name: 'Kubernetes'
|
|
secret: ZXhhbXBsZS1hcHAtc2VjcmV0
|
|
|