public async Task <Boolean> Login(SampekeyUserAccountRequest userAccountRequest) { try { using (var connection = new LdapConnection { SecureSocketLayer = false }) { var _domain = Environment.GetEnvironmentVariable("AD_DDOMAIN"); var _domainServer = Environment.GetEnvironmentVariable("AD_DDOMAIN_SSERVER"); var _port = Environment.GetEnvironmentVariable("AD_PORT"); connection.Connect(_domainServer, int.Parse(_port)); connection.Bind($"{userAccountRequest.UserName}@{_domain}", userAccountRequest.Password); var aux = connection.Bound; return(true); } } catch (System.Exception) { if ((await signInManager.PasswordSignInAsync(userAccountRequest.UserName, userAccountRequest.Password, isPersistent: false, lockoutOnFailure: false)).Succeeded) { return(true); } else { return(false); } } }
public async Task UpdateForcePaswordAsync(SampekeyUserAccountRequest userAccountRequest) { var user = await userManager.FindByEmailAsync(userAccountRequest.Email); var token = await userManager.GeneratePasswordResetTokenAsync(user); await userManager.ResetPasswordAsync(user, token, userAccountRequest.Password); }
public ActionResult <HashSet <object> > GetUsersWithActiveDirectory([FromBody] SampekeyUserAccountRequest value) { var users = new HashSet <object>(); try { using (var connection = new LdapConnection { SecureSocketLayer = false }) { var _domain = Environment.GetEnvironmentVariable("AD_DDOMAIN"); var _domainServer = Environment.GetEnvironmentVariable("AD_DDOMAIN_SSERVER"); var _port = Environment.GetEnvironmentVariable("AD_PORT"); connection.Connect(_domainServer, int.Parse(_port)); connection.Bind($"{value.UserName}@{_domain}", value.Password); LdapSearchResults searchResults = connection.Search( Environment.GetEnvironmentVariable("BIND_DN"), LdapConnection.SCOPE_SUB, Environment.GetEnvironmentVariable("LDAP_FILTER"), null, false ); while (searchResults.hasMore()) { LdapEntry nextEntry = null; nextEntry = searchResults.next(); nextEntry.getAttributeSet(); var attr = nextEntry.getAttribute("mail"); if (attr == null) { users.Add(nextEntry.getAttribute("distinguishedName").StringValue); } else { users.Add(new{ Email = nextEntry.getAttribute("mail").StringValue, UserName = nextEntry.getAttribute("sAMAccountName").StringValue }); } } return(users); } } catch { return(users); } /* * HashSet<string> data = account.GetUsersWithActiveDirectory(value); * return Ok(data); */ }
public async Task <ActionResult <object> > LoginAsync([FromBody] SampekeyUserAccountRequest value) { var data = await account.Login(value); if (data) { return(Ok(new { Token = SampekeyParams.CreateToken(value) })); } else { return(Unauthorized()); } }
public ActionResult <IdentityResult> CreateUser([FromBody] SampekeyUserAccountRequest value) { Task <IdentityResult> data = account.CreateUser(value); if (data.IsCanceled) { return(BadRequest(data.Exception)); } else if (data.Result == null) { return(NoContent()); } else { return(Ok(data.Result)); } }
public ActionResult <object> GenerateNewToken([FromBody] SampekeyUserAccountRequest value) { return(Ok(new { Token = SampekeyParams.CreateToken(value) })); }
public Task <IdentityResult> CreateUser(SampekeyUserAccountRequest userAccountRequest) { return(userManager.CreateAsync(userAccountRequest, userAccountRequest.Password)); }