Skip to content

Commit 7604472

Browse files
Ticket #463 : Finish OPENLDAP synchronizer
1 parent 625972e commit 7604472

18 files changed

+400
-243
lines changed

src/IdServer/SimpleIdServer.IdServer.Domains/IdentityProvisioning.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ public class IdentityProvisioning
1414
public ICollection<IdentityProvisioningProperty> Properties { get; set; } = new List<IdentityProvisioningProperty>();
1515
public ICollection<IdentityProvisioningHistory> Histories { get; set; } = new List<IdentityProvisioningHistory>();
1616
public ICollection<Realm> Realms { get; set; } = new List<Realm>();
17+
public ICollection<User> Users { get; set; } = new List<User>();
1718

1819
public void Export(DateTime startDateTime, DateTime endDateTime, string folderName, int nbRepresentations)
1920
{

src/IdServer/SimpleIdServer.IdServer.Domains/User.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ public User()
4040
public DateTime CreateDateTime { get; set; }
4141
public DateTime UpdateDateTime { get; set; }
4242
public string? Source { get; set; } = null;
43+
public string? IdentityProvisioningId { get; set; } = null;
4344
public ICollection<Claim> Claims
4445
{
4546
get
@@ -80,6 +81,7 @@ public UserCredential? ActivePassword
8081
public ICollection<UserExternalAuthProvider> ExternalAuthProviders { get; set; } = new List<UserExternalAuthProvider>();
8182
public ICollection<Consent> Consents { get; set; } = new List<Consent>();
8283
public ICollection<UserDevice> Devices { get; set; } = new List<UserDevice>();
84+
public IdentityProvisioning? IdentityProvisioning { get; set; } = null;
8385

8486
#region User claims
8587

src/IdServer/SimpleIdServer.IdServer.Startup/IdServerConfiguration.cs

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,12 @@ public class IdServerConfiguration
2121
.AddUserSubjectMappingRule("$.userName")
2222
.AddUserPropertyMappingRule("$.name.familyName", nameof(User.Lastname))
2323
.AddUserAttributeMappingRule("$.name.givenName", JwtRegisteredClaimNames.GivenName).Build();
24+
25+
private static IdentityProvisioningDefinition Ldap = IdentityProvisioningDefinitionBuilder.Create<LDAPRepresentationsExtractionJobOptions>(SimpleIdServer.IdServer.Jobs.LDAPRepresentationsExtractionJob.NAME, "LDAP")
26+
.AddUserSubjectMappingRule("cn")
27+
.AddLDAPDistinguishedName()
28+
.Build();
29+
2430
public static ICollection<Scope> Scopes => new List<Scope>
2531
{
2632
SimpleIdServer.IdServer.Constants.StandardScopes.OpenIdScope,
@@ -89,6 +95,16 @@ public class IdServerConfiguration
8995
{
9096
Count = 1,
9197
SCIMEdp = scimEdp
98+
}).Build(),
99+
IdentityProvisioningBuilder.Create(Ldap, "LDAP", "LDAP", new LDAPRepresentationsExtractionJobOptions
100+
{
101+
BatchSize = 1,
102+
BindCredentials = "password",
103+
BindDN = "cn=admin,dc=xl,dc=com",
104+
Server = "localhost",
105+
Port = 389,
106+
UserObjectClasses = "organizationalPerson,person",
107+
UsersDN = "ou=people,dc=xl,dc=com"
92108
}).Build()
93109
};
94110
}

src/IdServer/SimpleIdServer.IdServer.Startup/Migrations/20230404125902_Init.Designer.cs renamed to src/IdServer/SimpleIdServer.IdServer.Startup/Migrations/20230407194347_Init.Designer.cs

Lines changed: 17 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)