private async Task LoadSharedKeyAndQrCodeUriAsync(AppUserTab user)
        {
            // Load the authenticator key & QR code URI to display on the form
            var unformattedKey = await _userManager.GetAuthenticatorKeyAsync(user);

            if (string.IsNullOrEmpty(unformattedKey))
            {
                await _userManager.ResetAuthenticatorKeyAsync(user);

                unformattedKey = await _userManager.GetAuthenticatorKeyAsync(user);
            }

            SharedKey = FormatKey(unformattedKey);

            var email = await _userManager.GetEmailAsync(user);

            AuthenticatorUri = GenerateQrCodeUri(email, unformattedKey);
        }
Example #2
0
        public async Task <IActionResult> OnPostAsync(string returnUrl = null)
        {
            returnUrl = returnUrl ?? Url.Content("/");
            //if (ModelState.IsValid)
            //{

            var user = new AppUserTab {
                UserName = Input.Email, Email = Input.Email, RealName = Input.Name, EmpRcNo = Input.InstId
            };

            if (Input.Password.Any(Char.IsUpper) == false)
            {
                errorm = "Your password must contain at least 1 upper case";
                return(Page());
            }
            var useremail = await _userManager.FindByEmailAsync(Input.Email);

            if (useremail != null)
            {
                errorm = "Cordinator already exist please check ";
                return(Page());
            }

            var result = await _userManager.CreateAsync(user, Input.Password);

            if (result.Succeeded)
            {
                await _userManager.AddToRoleAsync(user, ConstantRole.AgencySuper);

                _logger.LogInformation("User created a new account with password.");
                await _signInManager.SignInAsync(user, isPersistent : false);

                successm = "ACCOUNT SUCCESSFULY CREATED";

                return(Page());
            }
            foreach (var error in result.Errors)
            {
                ModelState.AddModelError(string.Empty, error.Description);
                errorm = error.Description;
            }

            return(Page());
        }
        public async Task <IActionResult> OnPostConfirmationAsync(string returnUrl = null)
        {
            returnUrl = returnUrl ?? Url.Content("~/");
            // Get the information about the user from the external login provider
            var info = await _signInManager.GetExternalLoginInfoAsync();

            if (info == null)
            {
                ErrorMessage = "Error loading external login information during confirmation.";
                return(RedirectToPage("./Login", new { ReturnUrl = returnUrl }));
            }

            if (ModelState.IsValid)
            {
                var user = new AppUserTab {
                    UserName = Input.Email, Email = Input.Email
                };
                var result = await _userManager.CreateAsync(user);

                if (result.Succeeded)
                {
                    result = await _userManager.AddLoginAsync(user, info);

                    if (result.Succeeded)
                    {
                        await _signInManager.SignInAsync(user, isPersistent : false);

                        _logger.LogInformation("User created an account using {Name} provider.", info.LoginProvider);
                        return(LocalRedirect(returnUrl));
                    }
                }
                foreach (var error in result.Errors)
                {
                    ModelState.AddModelError(string.Empty, error.Description);
                }
            }

            LoginProvider = info.LoginProvider;
            ReturnUrl     = returnUrl;
            return(Page());
        }
        public async Task <IActionResult> OnPostAsync(string returnUrl = null)
        {
            returnUrl = returnUrl ?? Url.Content("/Areas/Identity/Pages/Account/Login");
            if (ModelState.IsValid)
            {
                var user = new AppUserTab {
                    UserName = Input.RcNo, Email = Input.Email
                };

                if (Input.Password.Any(Char.IsUpper) == false)
                {
                    errorm = "Your password must contain at least 1 upper case";
                    return(Page());
                }
                var useremail = await _userManager.FindByEmailAsync(Input.Email);

                //  var username = await _userManager.GetUserNameAsync(user);

                if (useremail != null)
                {
                    errorm = "Email alrealdy exist please check ";
                    return(Page());
                }

                var result = await _userManager.CreateAsync(user, Input.Password);

                if (result.Succeeded)
                {
                    // creating Creating Manager role

                    //bool  x = await _roleManager.RoleExistsAsync("Employer");
                    //  if (!x)
                    //  {
                    //      var role = new RoleTb();
                    //      role.Name = "Employer";
                    //      role.RoleId = "EMP01";
                    //      await _roleManager.CreateAsync(role);
                    //  }
                    await _userManager.AddToRoleAsync(user, ConstantRole.Employer);

                    _logger.LogInformation("User created a new account with password.");

                    var code = await _userManager.GenerateEmailConfirmationTokenAsync(user);

                    var callbackUrl = Url.Page(
                        "/Account/ConfirmEmail",
                        pageHandler: null,
                        values: new { userId = user.Id, code = code },
                        protocol: Request.Scheme);

                    await _emailSender.SendEmailAsync(Input.Email, "Confirm your email",
                                                      $"Please confirm your account by <a href='{HtmlEncoder.Default.Encode(callbackUrl)}'>clicking here</a>.");

                    //   await _signInManager.SignInAsync(user, isPersistent: false);
                    successm = "ACCOUNT SUCCESSFULY CREATED";
                    // Response.Redirect(returnUrl);
                    //  return LocalRedirect(returnUrl);

                    return(RedirectToPage("Login"));
                    // return Redirect("/Login?Message=" + successm);
                }
                foreach (var error in result.Errors)
                {
                    ModelState.AddModelError(string.Empty, error.Description);
                    errorm = error.Description;
                }
            }

            // If we got this far, something failed, redisplay form
            // return Page();
            return(LocalRedirect(returnUrl));
        }
        public async Task <IActionResult> OnPostAsync(string returnUrl = null)
        {
            returnUrl = returnUrl ?? Url.Content("/");
            if (ModelState.IsValid)
            {
                var user = new AppUserTab {
                    UserName    = Input.Email,
                    Email       = Input.Email,
                    RealName    = Input.Name,
                    EmpRcNo     = User.Identity.Name,
                    PhoneNumber = Input.PhoneNo
                };

                if (Input.Password.Any(Char.IsUpper) == false)
                {
                    errorm = "Your password must contain at least 1 upper case";
                    return(Page());
                }
                var useremail = await _userManager.FindByEmailAsync(Input.Email);

                //  var username = await _userManager.GetUserNameAsync(user);

                if (useremail != null)
                {
                    errorm = "Email alrealdy exist please check s";
                    return(Page());
                }

                var result = await _userManager.CreateAsync(user, Input.Password);

                if (result.Succeeded)
                {
                    await _userManager.AddToRoleAsync(user, ConstantRole.Employer);

                    _logger.LogInformation("User created a new account with password.");

                    //var code = await _userManager.GenerateEmailConfirmationTokenAsync(user);
                    //var callbackUrl = Url.Page(
                    //    "/Account/ConfirmEmail",
                    //    pageHandler: null,
                    //    values: new { userId = user.Id, code = code },
                    //    protocol: Request.Scheme);

                    //await _emailSender.SendEmailAsync(Input.Email, "Confirm your email",
                    //    $"Please confirm your account by <a href='{HtmlEncoder.Default.Encode(callbackUrl)}'>clicking here</a>.");

                    await _signInManager.SignInAsync(user, isPersistent : false);

                    successm = "ACCOUNT SUCCESSFULY CREATED";

                    return(Page());
                }
                foreach (var error in result.Errors)
                {
                    ModelState.AddModelError(string.Empty, error.Description);
                    errorm = error.Description;
                }
            }

            // If we got this far, something failed, redisplay form
            // return Page();
            return(LocalRedirect(returnUrl));
        }
Example #6
0
        public async void SeedRoles()
        {
            var roleStore = new RoleStore <IdentityRole>(_context);


            if (!_context.Roles.Any(r => r.Name == ConstantRole.Cordinator))
            {
                var role = new RoleTb();
                role.Name   = ConstantRole.Cordinator.ToString().Trim();
                role.RoleId = "CORD001";
                await _roleManager.CreateAsync(role);
            }

            if (!_context.Roles.Any(r => r.Name == ConstantRole.Employer))
            {
                var role = new RoleTb();
                role.Name   = ConstantRole.Employer.ToString().Trim();
                role.RoleId = "EMP001";
                await _roleManager.CreateAsync(role);
            }

            if (!_context.Roles.Any(r => r.Name == ConstantRole.Student))
            {
                var role = new RoleTb();
                role.Name   = ConstantRole.Student.ToString().Trim();
                role.RoleId = "STD01";
                await _roleManager.CreateAsync(role);
            }
            if (!_context.Roles.Any(r => r.Name == ConstantRole.Admin))
            {
                var role = new RoleTb();
                role.Name   = ConstantRole.Admin.ToString().Trim();
                role.RoleId = "Admin";
                await _roleManager.CreateAsync(role);
            }
            if (!_context.Roles.Any(r => r.Name == ConstantRole.SchSuper))
            {
                var role = new RoleTb();
                role.Name   = "School Supervisor";
                role.RoleId = ConstantRole.SchSuper.ToString().Trim();
                await _roleManager.CreateAsync(role);
            }
            if (!_context.Roles.Any(r => r.Name == ConstantRole.AgencySuper))
            {
                var role = new RoleTb();
                role.Name   = "Agency Supervisor";
                role.RoleId = "Ags001";
                await _roleManager.CreateAsync(role);
            }
            var getadmin = await _userManager.FindByEmailAsync("*****@*****.**");

            if (getadmin == null)
            {
                var userd = new AppUserTab
                {
                    Email    = "*****@*****.**",
                    UserName = "******",
                    RealName = "Bssl Administrator"
                };
                await _userManager.CreateAsync(userd, "Oj5!%hs17");

                await _userManager.AddToRoleAsync(userd, SiwesData.ConstantRole.Admin);
            }

            //  var adminroleid = await _roleManager.FindByNameAsync("Admin");
            //  var submenulist =  _context.SubMenu.ToList();
            //  var saveadminmenu = new MenuAccess() ;

            ////  saveadminmenu.RoleId = adminroleid.Id;
            //  using (var saved = new MenuAccess())
            //  {
            //      foreach (var dd in submenulist)
            //      {
            //          saved.RoleId = adminroleid.Id;
            //          saved.Id = dd.Id;
            //      }
            //      _context.MenuAccess.Add(saved);
            //      await _context.SaveChangesAsync();

            //  }
            //  foreach(var ddd in submenulist)
            //  {
            //      MenuAccess savemenu = new MenuAccess(
            //      {
            //          savemenu.RoleId = adminroleid.Id,
            //          savemenu.Id = ddd.Id,

            //      });
            //  }
            //  using (var ctx = new ApplicationDbContext() )
            //  {
            //      foreach (var value in saveadminmenu)
            //      {
            //          value.Username = user;
            //          value.Changed = DateTime.Now;
            //          ctx.UOSChangeLog.Add(value);
            //      }
            //      ctx.SaveChanges();
            //      return true;
            //  }
            //}
            //    foreach (var dd in submenulist)
            //    {

            //        saveadminmenu.RoleId = adminroleid.Id;
            //        saveadminmenu.SubMenuId = dd.Id;
            //        _context.MenuAccess.Add(saveadminmenu);
            //        await _context.SaveChangesAsync();

            //    }

            //using (var ctx = new MenuAccess)
            //{
            //    saveadminmenu(u => { u. = user; u.Changed = DateTime.Now; });
            //    var test = ctx.UOSChangeLog.AddRange(values);
            //    ctx.SaveChanges();
            //    return true;
            //}

            //using (menuAccess = new MenuAccess())
            //{
            //    foreach (var dd in saveadminmenu)
            //    {
            //        roleid = user;
            //        value.Changed = DateTime.Now;
            //        ctx.UOSChangeLog.Add(value);
            //    }
            //    ctx.SaveChanges();
            //    return true;
            //}
            //var newMonthlyAssessment = new MenuAccess
            //{
            //    RoleId = adminroleid.Id,
            //    SubMenuId = submenulist,
            //};
        }