{"id":20505970,"url":"https://github.com/ligoj/plugin-id-ldap","last_synced_at":"2025-04-13T21:12:26.362Z","repository":{"id":38375704,"uuid":"84604976","full_name":"ligoj/plugin-id-ldap","owner":"ligoj","description":"Ligoj plugin for plugin-id with LDAP backend","archived":false,"fork":false,"pushed_at":"2025-02-12T08:36:19.000Z","size":797,"stargazers_count":5,"open_issues_count":6,"forks_count":5,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-04-13T21:12:14.133Z","etag":null,"topics":["ldap","ligoj","ligoj-plugin","spring"],"latest_commit_sha":null,"homepage":"https://kloudy.io","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ligoj.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-03-10T22:12:51.000Z","updated_at":"2025-02-12T08:36:23.000Z","dependencies_parsed_at":"2023-10-01T16:30:45.483Z","dependency_job_id":"5599fb40-5760-4517-99c2-60c98c35589d","html_url":"https://github.com/ligoj/plugin-id-ldap","commit_stats":null,"previous_names":[],"tags_count":38,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ligoj%2Fplugin-id-ldap","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ligoj%2Fplugin-id-ldap/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ligoj%2Fplugin-id-ldap/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ligoj%2Fplugin-id-ldap/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ligoj","download_url":"https://codeload.github.com/ligoj/plugin-id-ldap/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248782259,"owners_count":21160717,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ldap","ligoj","ligoj-plugin","spring"],"created_at":"2024-11-15T19:52:33.777Z","updated_at":"2025-04-13T21:12:26.340Z","avatar_url":"https://github.com/ligoj.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"## :link: Ligoj Identity LDAP plugin [![Maven Central](https://maven-badges.herokuapp.com/maven-central/org.ligoj.plugin/plugin-id-ldap/badge.svg)](https://maven-badges.herokuapp.com/maven-central/org.ligoj.plugin/plugin-id-ldap)\n\n[![Coverage](https://sonarcloud.io/api/project_badges/measure?project=org.ligoj.plugin%3Aplugin-id-ldap\u0026metric=coverage)](https://sonarcloud.io/dashboard?id=org.ligoj.plugin%3Aplugin-id-ldap)\n[![Quality Gate](https://sonarcloud.io/api/project_badges/measure?metric=alert_status\u0026project=org.ligoj.plugin:plugin-id-ldap)](https://sonarcloud.io/dashboard/index/org.ligoj.plugin:plugin-id-ldap)\n[![Codacy Badge](https://api.codacy.com/project/badge/Grade/abf810c094e44c0691f71174c707d6ed)](https://www.codacy.com/gh/ligoj/plugin-id-ldap?utm_source=github.com\u0026amp;utm_medium=referral\u0026amp;utm_content=ligoj/plugin-id-ldap\u0026amp;utm_campaign=Badge_Grade)\n[![CodeFactor](https://www.codefactor.io/repository/github/ligoj/plugin-id-ldap/badge)](https://www.codefactor.io/repository/github/ligoj/plugin-id-ldap)\n[![License](http://img.shields.io/:license-mit-blue.svg)](http://fabdouglas.mit-license.org/)\n\n[Ligoj](https://github.com/ligoj/ligoj) LDAP identity plugin, and\nextending [Identity plugin](https://github.com/ligoj/plugin-id)\nProvides the following features :\n\n- LDAP synchronization and caching\n- User activity contribution\n\nRequires [IAM Node plugin](https://github.com/ligoj/plugin-iam-node) to select the LDAP node used for authentication.\n\n# Cache resources\n\nCache resources TTL can be overridden from Configuration API with `cache.$name.ttl` property:\n\n| Cache           | Default TTL (S) | Note                                                  |\n|-----------------|-----------------|-------------------------------------------------------|\n| user-details    | Eternal (0)     | Assumes there is no LDAP update for other place       |\n| customers       | Eternal (0)     | Assumes there is no LDAP group update for other place |\n| customers-by-id | Eternal (0)     | Assumes there is no LDAP group update for other place |\n\n# Plugin parameters\n\n| Parameter                                | Value                                  | Note                                                                                                                                   |                     \n|------------------------------------------|----------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------|\n| service:id:ldap:base-dn                  | \u003cempty\u003e                                | Base DN of all DN. Should be empty for an easiest fine grained configuration.                                                          |\n| service:id:ldap:companies-dn             | ou=people,dc=sample,dc=com             | DN within the people DN  where the companies owning real people are stored.                                                            |                             \n| service:id:ldap:companies-class          | organizationalUnit                     | LDAP object classes of companies for search. Comma or space separated values.                                                          |                            \n| service:id:ldap:companies-class-create   | \u003cempty\u003e                                | LDAP object classes of companies for the creation. Comma or space separated values. When empty, use the first of search classes.       |                            \n| service:id:ldap:company-pattern          | [^,]+,ou=([^,]+),.*                    | Pattern extracting the company string name from a DN of an user.                                                                       |                            \n| service:id:ldap:department-attribute     | employeeNumber                         | LDAP attribute name for the department value. Use a value compatible withe the LDAP schema.                                            |                            \n| service:id:ldap:groups-dn                | ou=groups,dc=sample,dc=com             | DN of groups.                                                                                                                          |                                  \n| service:id:ldap:groups-member-attribute  | uniqueMember                           | LDAP group's attribute name referring to its members' DN.                                                                              |                                  \n| service:id:ldap:groups-class             | groupOfUniqueNames                     | LDAP object classes of groups for search. Comma or space separated values.                                                             |                                  \n| service:id:ldap:groups-class-create      | \u003cempty\u003e                                | LDAP object classes of groups for the creation. Comma or space separated values. When empty, use the first of search classes.          |                                  \n| service:id:ldap:local-id-attribute       | employeeID                             | LDAP attribute name for the local employee number.                                                                                     |                                         \n| service:id:ldap:locked-attribute         | employeeType                           | LDAP attribute name for the locked status of an user.                                                                                  |                                     \n| service:id:ldap:locked-value             | LOCKED                                 | LDAP attribute valued of locked user.                                                                                                  |                               \n| service:id:ldap:login-attributes         | uid,mail                               | Accepted authentication LDAP attributes. Comma or space separated values. Ignored when `service:id:ldap:self-search` is `false`.       |    \n| service:id:ldap:password                 | \u003crequired\u003e                             | Clear administrator password. This value is encrypted in database.                                                                     |                    \n| service:id:ldap:people-class             | inetOrgPerson                          | LDAP object classes of users for search. Comma or space separated values.                                                              |                               \n| service:id:ldap:people-class-create      | \u003cempty\u003e                                | LDAP object classes of users for the creation. Comma or space separated values. When empty, use the first of search classes.           |                               \n| service:id:ldap:people-custom-attributes | \u003cempty\u003e                                | List of mandatory custom user LDAP attribute names. Comma or space separated values.                                                   |                               \n| service:id:ldap:people-dn                | ou=people,dc=sample,dc=com             | Base DN of the people. This DN is used as primary search location for users.                                                           |                          \n| service:id:ldap:people-internal-dn       | ou=internal,ou=people,dc=sample,dc=com | DN within the people DN to separate internal (writable) users from the other. (not yet fully implemented).                             |            \n| service:id:ldap:quarantine-dn            | ou=quarantine,dc=sample,dc=com         | DN outside the people DN. Receive the users moved from their source without deleting them.                                             |       \n| service:id:ldap:self-search              | false                                  | When `true`, at authentication time, the admin credentials are used search and filter the user, and then the credentials are verified. |       \n|                                          |                                        | When `false`, the user's credentials are checked without search. Supports only `service:id:ldap:login-attributes` = `uid,mail`.        |       \n| service:id:ldap:uid-attribute            | uid                                    | LDAP attribute name user identifier.                                                                                                   |    \n| service:id:ldap:url                      | ldap://localhost:389                   | This  value is encrypted in database.                                                                                                  |            \n| service:id:ldap:user-dn                  | cn=Manager,dc=sample,dc=com            | DN of administrator.                                                                                                                   |","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fligoj%2Fplugin-id-ldap","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fligoj%2Fplugin-id-ldap","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fligoj%2Fplugin-id-ldap/lists"}