public async Task <IHttpActionResult> RegisterExternal(RegisterExternalBindingModel model) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var info = await Authentication.GetExternalLoginInfoAsync(); if (info == null) { return(InternalServerError()); } var user = new FarmerUser() { UserName = model.Email, Email = model.Email }; IdentityResult result = await UserManager.CreateAsync(user); if (!result.Succeeded) { return(GetErrorResult(result)); } result = await UserManager.AddLoginAsync(user.Id, info.Login); if (!result.Succeeded) { return(GetErrorResult(result)); } return(Ok()); }
public override async Task GrantResourceOwnerCredentials(OAuthGrantResourceOwnerCredentialsContext context) { var userManager = context.OwinContext.GetUserManager <ApplicationUserManager>(); FarmerUser user = await userManager.FindAsync(context.UserName, context.Password); if (user == null) { context.SetError("invalid_grant", "The user name or password is incorrect."); return; } ClaimsIdentity oAuthIdentity = await user.GenerateUserIdentityAsync(userManager, OAuthDefaults.AuthenticationType); ClaimsIdentity cookiesIdentity = await user.GenerateUserIdentityAsync(userManager, CookieAuthenticationDefaults.AuthenticationType); var claim = new Claim(ClaimTypes.Role, "User"); oAuthIdentity.AddClaim(claim); cookiesIdentity.AddClaim(claim); if (user.Email.Equals("*****@*****.**")) { oAuthIdentity.AddClaim(new Claim(ClaimTypes.Role, "Admin")); cookiesIdentity.AddClaim(new Claim(ClaimTypes.Role, "Admin")); } AuthenticationProperties properties = CreateProperties(user.UserName); AuthenticationTicket ticket = new AuthenticationTicket(oAuthIdentity, properties); context.Validated(ticket); context.Request.Context.Authentication.SignIn(cookiesIdentity); }
public IActionResult Delete(FarmerUser farmer) { if (farmer.Id <= 0) { throw new Exception("Silme işlemi yapabilmek için lütfen kullanıcı Id değerini gönderiniz"); } _userService.Delete(farmer); return(Ok()); }
public async Task <IHttpActionResult> GetExternalLogin(string provider, string error = null) { if (error != null) { return(Redirect(Url.Content("~/") + "#error=" + Uri.EscapeDataString(error))); } if (!User.Identity.IsAuthenticated) { return(new ChallengeResult(provider, this)); } ExternalLoginData externalLogin = ExternalLoginData.FromIdentity(User.Identity as ClaimsIdentity); if (externalLogin == null) { return(InternalServerError()); } if (externalLogin.LoginProvider != provider) { Authentication.SignOut(DefaultAuthenticationTypes.ExternalCookie); return(new ChallengeResult(provider, this)); } FarmerUser user = await UserManager.FindAsync(new UserLoginInfo(externalLogin.LoginProvider, externalLogin.ProviderKey)); var hasRegistered = user != null; if (hasRegistered) { Authentication.SignOut(DefaultAuthenticationTypes.ExternalCookie); ClaimsIdentity oAuthIdentity = await user.GenerateUserIdentityAsync(UserManager, OAuthDefaults.AuthenticationType); ClaimsIdentity cookieIdentity = await user.GenerateUserIdentityAsync(UserManager, CookieAuthenticationDefaults.AuthenticationType); AuthenticationProperties properties = ApplicationOAuthProvider.CreateProperties(user.UserName); Authentication.SignIn(properties, oAuthIdentity, cookieIdentity); } else { IEnumerable <Claim> claims = externalLogin.GetClaims(); ClaimsIdentity identity = new ClaimsIdentity(claims, OAuthDefaults.AuthenticationType); Authentication.SignIn(identity); } return(Ok()); }
public async Task <IActionResult> UserRegister(LoginModel loginModel, IFormFile file) { if (loginModel != null) { var newUser = new FarmerUser() { Name = loginModel.Name, Surname = loginModel.Surname, Email = loginModel.Email, Address = loginModel.Address, Password = loginModel.Password, PhoneNumber = loginModel.PhoneNumber, RecordData = DateTime.Now.ToShortDateString().ToString(), UserType = loginModel.UserType, UserState = true //kullanıcı kayıt oldugunda durumu true olsun }; if (file != null) { var incerrectImage = Path.GetExtension(file.FileName); if (incerrectImage == ".jpg" || incerrectImage == ".jpeg" || incerrectImage == ".png" || incerrectImage == ".bmp" || incerrectImage == ".gif" || incerrectImage == ".tiff") { Random rastgele = new Random(); string harfler = "ABCÇDEFGĞHIİJKLMNOÖPRSŞTUÜVYZabcçdefgğhıijklmnoöprsştuüvyz"; string uret = ""; for (int i = 0; i < 6; i++) { uret += harfler[rastgele.Next(harfler.Length)]; } newUser.ImageURL = uret + ".jpg"; var path = Path.Combine(Directory.GetCurrentDirectory(), "wwwroot\\img\\CustomerImages", uret + ".jpg"); using (var stream = new FileStream(path, FileMode.Create)) { await file.CopyToAsync(stream).ConfigureAwait(false); } } else { ViewBag.IncerrectImageExtension = "Hata !!! Desteklenmeyen dosya uzantısı yüklemeye çalıştınız lütfen yükleyeceginiz dosyanın uzantısının \"jpg, png, jpeg, tiff, bmp\" oldugundan emin olunuz..."; return(View()); } } _userService.Create(newUser); return(View("UserLogin")); } return(View()); }
public async Task <ManageInfoViewModel> GetManageInfo(string returnUrl, bool generateState = false) { FarmerUser user = await UserManager.FindByIdAsync(User.Identity.GetUserId <int>()); if (user == null) { return(null); } List <UserLoginInfoViewModel> logins = new List <UserLoginInfoViewModel>(); foreach (ApplicationUserLogin linkedAccount in user.Logins) { logins.Add(new UserLoginInfoViewModel { LoginProvider = linkedAccount.LoginProvider, ProviderKey = linkedAccount.ProviderKey }); } if (user.PasswordHash != null) { logins.Add(new UserLoginInfoViewModel { LoginProvider = LocalLoginProvider, ProviderKey = user.UserName, }); } return(new ManageInfoViewModel { LocalLoginProvider = LocalLoginProvider, Email = user.UserName, Logins = logins, ExternalLoginProviders = GetExternalLogins(returnUrl, generateState) }); }
public async Task <IHttpActionResult> Register(RegisterBindingModel model) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var user = new FarmerUser() { UserName = model.Email, Email = model.Email, }; IdentityResult result = await UserManager.CreateAsync(user, model.Password); if (!result.Succeeded) { return(GetErrorResult(result)); } await SendActivationEmail(model.Email, model.Password); return(Ok(user.Id)); }
public IActionResult FindByEmail(FarmerUser user) { string email = user.Email; return(Ok(_userService.FindByEmail(email))); }
public IActionResult Create(FarmerUser farmer) { _userService.Create(farmer); return(Ok()); }