Tzahi12345 / YoutubeDL-Material

Self-hosted YouTube downloader built on Material Design
MIT License
2.6k stars 268 forks source link

[FEATURE] Choose which LDAP value is used for the internal Username and UID values #979

Closed morg-mov closed 1 year ago

morg-mov commented 1 year ago

Is your feature request related to a problem? Please describe. I run a small network of web programs for me and my friends to use and I use authentik and it's LDAP Provider plugin for connecting with my LDAP services. I notice whenever I login with an unset user on YTDL Material that it automatically sets the username to the uid value, which with authentik is a randomly generated user ID string, rather than the cn value that that authentik uses for usernames. This makes it harder for me to monitor user activity and I don't believe I am able to modify this UID value via authentik.

Describe the solution you'd like I wish for the option to choose which values from the LDAP response that YTDL Material saves for it's Username and UID values.

Additional context Here's some screenshots of the problem.

User information box from authentik. I set up a test user for this demonstration: image

User information saved in YTDL after logging in with the user for the first time: image

ldapsearch query of the test user:

# extended LDIF
#
# LDAPv3
# base <CN=testuser,OU=users,[REDACTED]> with scope subtree
# filter: (uid=*)
# requesting: ALL
#

# testuser, users, [REDACTED]
dn: cn=testuser,ou=users,[REDACTED]
sn: Test User
cn: testuser
sAMAccountName: testuser
mail: [REDACTED]
uidNumber: 2011
displayName: Test User
gidNumber: 2011
homeDirectory: /home/testuser
ak-active: true
memberOf: cn=users,ou=groups,[REDACTED]
objectClass: user
objectClass: organizationalPerson
objectClass: inetOrgPerson
objectClass: goauthentik.io/ldap/user
objectClass: posixAccount
ak-superuser: false
uid: 20bdd6f9b99d17a9f8ee648694b125599eb5bd7c335e83a60f5c918124206cc5
name: Test User

# search result
search: 2
result: 0 Success

# numResponses: 2
# numEntries: 1
morg-mov commented 1 year ago

I don't know how I didn't realize this, but this is most likely a purposeful design decision because usernames are mutable in nature, compared to user IDs. My bad.