public async Task <IActionResult> Register(MyUserViewModel userViewModel) { var user = await _userManager.FindByNameAsync(userViewModel.UserName); if (user == default) { var model = new MyUser { Id = Guid.NewGuid().ToString(), UserName = userViewModel.UserName, Email = userViewModel.Email }; var result = await _userManager.CreateAsync(model, userViewModel.Password); if (result.Succeeded) { var token = await _userManager.GenerateEmailConfirmationTokenAsync(model); var confirmationEmail = Url.Action("ConfirmEmail", "Login", new { token, email = model.Email }, Request.Scheme); System.IO.File.WriteAllText("confirmationEmail.txt", confirmationEmail); } return(Ok(result)); } return(BadRequest("Deu ruim")); }
// // GET: /Manage/Index public async Task <ActionResult> Index(ManageMessageId?message) { ViewBag.StatusMessage = message == ManageMessageId.ChangePasswordSuccess ? "Your password has been changed." : message == ManageMessageId.SetPasswordSuccess ? "Your password has been set." : message == ManageMessageId.SetTwoFactorSuccess ? "Your two-factor authentication provider has been set." : message == ManageMessageId.Error ? "An error has occurred." : message == ManageMessageId.AddPhoneSuccess ? "Your phone number was added." : message == ManageMessageId.RemovePhoneSuccess ? "Your phone number was removed." : ""; var userId = User.Identity.GetUserId(); var model = new MyUserViewModel { HasPassword = HasPassword(), PhoneNumber = await UserManager.GetPhoneNumberAsync(userId), TwoFactor = await UserManager.GetTwoFactorEnabledAsync(userId), Logins = await UserManager.GetLoginsAsync(userId), BrowserRemembered = await AuthenticationManager.TwoFactorBrowserRememberedAsync(userId) }; //var userid = System.Web.HttpContext.Current.User.Identity.GetUserId(); model.MySightings = db.Sightings.Where(xx => xx.AspNetUserId == userId).ToList();; return(View(model)); }
public SignUpPage() { if (Device.RuntimePlatform == Device.Android) { var navigationPage = Application.Current.MainPage as NavigationPage; navigationPage.BarBackgroundColor = Color.Transparent; } InitializeComponent(); BindingContext = new MyUserViewModel(); }
public IActionResult MyUser() { User user = repository.GetByUsername(User.Identity.Name); var products = productRepository.GetUserProducts(user.Id); var account = bankAccountRepository.GetByUserId(user.Id); var notifications = notificationRepository.UserNotifications(user.Id).OrderByDescending(x => x.Date).Take(10); MyUserViewModel viewModel = new MyUserViewModel() { User = user, Products = products, BankAccounts = account, Notifications = notifications }; return(View(viewModel)); }
public async Task <ActionResult> Create(MyUserViewModel model) { if (ModelState.IsValid) { MyUser user = new MyUser { UserName = model.Name, Email = model.Email }; IdentityResult result = await UserManager.CreateAsync(user, model.Password); if (result.Succeeded) { return(RedirectToAction("Index")); } AddErrorsFromResult(result); } return(View(model)); }
public async Task <IActionResult> Login(MyUserViewModel userViewModel) { // var siginResult = await _signInManager.PasswordSignInAsync( // userViewModel.UserName, userViewModel.Password, false, false); // if (siginResult.Succeeded) // return Ok(siginResult); var user = await _userManager.FindByNameAsync(userViewModel.UserName); if (user == default) { return(Unauthorized("Usuario ou senha inválido")); } if (!await _userManager.IsEmailConfirmedAsync(user)) { return(BadRequest("TEM QUE CONFIRMAR O EMAIL DOIDAO")); } if (await _userManager.IsLockedOutAsync(user)) { return(BadRequest("DEU EXTREMAMENTE RUIM VAI TER QUE TROCAR A SENHA VACILAUM")); } if (!await _userManager.CheckPasswordAsync(user, userViewModel.Password)) { await _userManager.AccessFailedAsync(user); return(Unauthorized("Usuario ou senha inválido")); } await _userManager.ResetAccessFailedCountAsync(user); var principal = await _userClaimsPrincipalFactory.CreateAsync(user); var identity = new ClaimsIdentity("Identity.Application"); identity.AddClaim(new Claim(ClaimTypes.NameIdentifier, user.Id)); identity.AddClaim(new Claim(ClaimTypes.Name, user.UserName)); await HttpContext.SignInAsync("Identity.Application", principal); return(Ok(principal)); }