[GH-ISSUE #171] Add support for the JpegPhoto attribute #65

Closed
opened 2026-02-27 08:15:03 +03:00 by kerem · 7 comments
Owner

Originally created by @soupglasses on GitHub (May 22, 2022).
Original GitHub issue: https://github.com/lldap/lldap/issues/171

This is a issue asking for the inclusion of the JpegPhoto attribute from the InetOrgPerson class.

This adds a nice quality of life experience to help manage and centralize the profile pictures for the users under lldap.

One example of a service using JpegPhoto would be Nextcloud and its user_ldap_auth module: https://docs.nextcloud.com/server/latest/admin_manual/configuration_user/user_auth_ldap.html#nextcloud-avatar-integration

Originally created by @soupglasses on GitHub (May 22, 2022). Original GitHub issue: https://github.com/lldap/lldap/issues/171 This is a issue asking for the inclusion of the [JpegPhoto](https://ldapwiki.com/wiki/JpegPhoto) attribute from the [InetOrgPerson](https://ldapwiki.com/wiki/InetOrgPerson) class. This adds a nice quality of life experience to help manage and centralize the profile pictures for the users under lldap. One example of a service using `JpegPhoto` would be Nextcloud and its `user_ldap_auth` module: https://docs.nextcloud.com/server/latest/admin_manual/configuration_user/user_auth_ldap.html#nextcloud-avatar-integration
kerem 2026-02-27 08:15:03 +03:00
Author
Owner

@nitnelave commented on GitHub (Jun 6, 2022):

This shouldn't be too hard since I planned ahead and allocated an "Avatar" column in the users table. It needs a bit of massaging to get it exposed to the LDAP interface though.

<!-- gh-comment-id:1147604507 --> @nitnelave commented on GitHub (Jun 6, 2022): This shouldn't be too hard since I planned ahead and allocated an "Avatar" column in the users table. It needs a bit of massaging to get it exposed to the LDAP interface though.
Author
Owner

@nitnelave commented on GitHub (Aug 8, 2022):

I have a PR that mostly solves the issue: users can add their own avatar, and it's served as jpegPhoto in LDAP.

However, note that adding support to the migration tool is blocked by https://github.com/inejge/ldap3/issues/86.

<!-- gh-comment-id:1208304722 --> @nitnelave commented on GitHub (Aug 8, 2022): I have a PR that mostly solves the issue: users can add their own avatar, and it's served as `jpegPhoto` in LDAP. However, note that adding support to the migration tool is blocked by https://github.com/inejge/ldap3/issues/86.
Author
Owner

@nitnelave commented on GitHub (Aug 8, 2022):

@imsofi Do you think you could test the PR #284 ?

<!-- gh-comment-id:1208305146 --> @nitnelave commented on GitHub (Aug 8, 2022): @imsofi Do you think you could test the PR #284 ?
Author
Owner

@soupglasses commented on GitHub (Aug 9, 2022):

Sadly i do not use lldap for my services anymore as i migrated to openldap completely. I may still see if i can test it in a container environment. But i will not be able to test how it integrates into things like nextcloud I am afraid.

<!-- gh-comment-id:1209227926 --> @soupglasses commented on GitHub (Aug 9, 2022): Sadly i do not use lldap for my services anymore as i migrated to openldap completely. I may still see if i can test it in a container environment. But i will not be able to test how it integrates into things like nextcloud I am afraid.
Author
Owner

@nitnelave commented on GitHub (Aug 9, 2022):

If your openldap setup is similar to lldap (single ou=people with all users, single ou=groups with all groups) then it should be fairly simple to import the data into lldap, with the migration tool (apart from the passwords). But I understand if you don't want to get into that.

EDIT: I merged the PR to make it easier to test: you should be able to just fetch :latest and get a working container.

<!-- gh-comment-id:1209235036 --> @nitnelave commented on GitHub (Aug 9, 2022): If your openldap setup is similar to lldap (single ou=people with all users, single ou=groups with all groups) then it should be fairly simple to import the data into lldap, with the migration tool (apart from the passwords). But I understand if you don't want to get into that. EDIT: I merged the PR to make it easier to test: you should be able to just fetch `:latest` and get a working container.
Author
Owner

@soupglasses commented on GitHub (Aug 9, 2022):

Yeah, sadly my switch to openldap was to gain more flexibility with user creation and acl. So it is no longer easy to migrate back into lldap or another similar solution.

<!-- gh-comment-id:1209238462 --> @soupglasses commented on GitHub (Aug 9, 2022): Yeah, sadly my switch to openldap was to gain more flexibility with user creation and acl. So it is no longer easy to migrate back into lldap or another similar solution.
Author
Owner

@nitnelave commented on GitHub (Oct 14, 2022):

Marking as done, we'll see if any issue crops up.

<!-- gh-comment-id:1278656792 --> @nitnelave commented on GitHub (Oct 14, 2022): Marking as done, we'll see if any issue crops up.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/lldap-lldap#65
No description provided.