Example #1
0
 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);
         }
     }
 }
Example #2
0
        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);
        }
Example #3
0
        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);
             */
        }
Example #4
0
        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());
            }
        }
Example #5
0
        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));
            }
        }
Example #6
0
 public ActionResult <object> GenerateNewToken([FromBody] SampekeyUserAccountRequest value)
 {
     return(Ok(new { Token = SampekeyParams.CreateToken(value) }));
 }
Example #7
0
 public Task <IdentityResult> CreateUser(SampekeyUserAccountRequest userAccountRequest)
 {
     return(userManager.CreateAsync(userAccountRequest, userAccountRequest.Password));
 }