public void CreateOAuthAccount(string provider, string providerUserId, IFlexMembershipUser user) { var existingUser = _userStore.GetUserByUsername(user.Username); if(existingUser == null) { _userStore.Add(user); } _userStore.CreateOAuthAccount(provider, providerUserId, existingUser ?? user); }
/// <summary> /// Gets the user name from open auth. /// </summary> /// <param name="provider">The provider.</param> /// <param name="providerUserId">The provider user id.</param> /// <returns></returns> public string GetUserNameFromOpenAuth(string provider, string providerUserId) { IFlexMembershipUser user = _userStore.GetUserByOAuthProvider(provider, providerUserId); if (user != null) { return(user.Username); } return(String.Empty); }
public void CreateOAuthAccount(string provider, string providerUserId, IFlexMembershipUser user) { var existingUser = _userStore.GetUserByUsername(user.Username); if (existingUser == null) { _userStore.Add(user); } _userStore.CreateOAuthAccount(provider, providerUserId, existingUser ?? user); }
public IFlexMembershipUser Save(IFlexMembershipUser user) { var existingUser = _session.Query <TUser>().SingleOrDefault(u => u.Username == user.Username); foreach (var property in user.GetType().GetProperties().Where(p => p.CanWrite)) { property.SetValue(existingUser, property.GetValue(user)); } _session.SaveChanges(); return(user); }
public void CreateAccount(IFlexMembershipUser user) { var existingUser = _userStore.GetUserByUsername(user.Username); if (existingUser != null) { throw new MembershipCreateUserException("Cannot register with a duplicate username"); } user.Salt = user.Salt ?? _encoder.GenerateSalt(); user.Password = _encoder.Encode(user.Password, user.Salt); _userStore.Add(user); }
public IFlexMembershipUser Save(IFlexMembershipUser user) { TUser existingUser = _userCollection.AsQueryable().SingleOrDefault(u => u.Username == user.Username); foreach (PropertyInfo property in user.GetType().GetProperties().Where(p => p.CanWrite)) { property.SetValue(existingUser, property.GetValue(user)); } _userCollection.Save(existingUser); return(user); }
/// <summary> /// Sets the local password for a user /// </summary> /// <param name="username"> The username. </param> /// <param name="newPassword"> The new password. </param> public void SetLocalPassword(string username, string newPassword) { IFlexMembershipUser user = _userStore.GetUserByUsername(username); if (!String.IsNullOrEmpty(user.Password)) { throw new FlexMembershipException("SetLocalPassword can only be used on accounts that currently don't have a local password."); } user.Salt = _encoder.GenerateSalt(); user.Password = _encoder.Encode(newPassword, user.Salt); _userStore.Save(user); }
/// <summary> /// Creates an account. /// </summary> /// <param name="user"> The user. </param> public void CreateAccount(IFlexMembershipUser user) { IFlexMembershipUser existingUser = _userStore.GetUserByUsername(user.Username); if (existingUser != null) { throw new FlexMembershipException(FlexMembershipStatus.DuplicateUserName); } user.Salt = user.Salt ?? _encoder.GenerateSalt(); user.Password = _encoder.Encode(user.Password, user.Salt); _userStore.Add(user); }
/// <summary> /// Changes the password for a user /// </summary> /// <param name="username"> The username. </param> /// <param name="oldPassword"> The old password. </param> /// <param name="newPassword"> The new password. </param> /// <returns> </returns> public bool ChangePassword(string username, string oldPassword, string newPassword) { IFlexMembershipUser user = _userStore.GetUserByUsername(username); string encodedPassword = _encoder.Encode(oldPassword, user.Salt); if (!encodedPassword.Equals(user.Password)) { return(false); } user.Password = _encoder.Encode(newPassword, user.Salt); _userStore.Save(user); return(true); }
/// <summary> /// Generates the password reset token for a user /// </summary> /// <param name="username"> The username. </param> /// <param name="tokenExpirationInMinutesFromNow"> The token expiration in minutes from now. </param> /// <returns> </returns> public string GeneratePasswordResetToken(string username, int tokenExpirationInMinutesFromNow = 1440) { IFlexMembershipUser user = _userStore.GetUserByUsername(username); if (user == null) { throw new FlexMembershipException(FlexMembershipStatus.InvalidUserName); } user.PasswordResetToken = GenerateToken(); user.PasswordResetTokenExpiration = DateTime.Now.AddMinutes(tokenExpirationInMinutesFromNow); _userStore.Save(user); return(user.PasswordResetToken); }
/// <summary> /// Resets the password for the supplied /// <paramref name="passwordResetToken" /> /// </summary> /// <param name="passwordResetToken"> The password reset token to perform the lookup on. </param> /// <param name="newPassword"> The new password for the user. </param> /// <returns> </returns> public bool ResetPassword(string passwordResetToken, string newPassword) { IFlexMembershipUser user = _userStore.GetUserByPasswordResetToken(passwordResetToken); if (user == null) { return(false); } if (String.IsNullOrEmpty(user.Salt)) { user.Salt = _encoder.GenerateSalt(); } user.Password = _encoder.Encode(newPassword, user.Salt); _userStore.Save(user); return(true); }
/// <summary> /// Determines whether the provided <paramref name="username"/> and /// <paramref name="password"/> combination is valid /// </summary> /// <param name="username">The username.</param> /// <param name="password">The password.</param> /// <param name="rememberMe"> /// if set to <c>true</c> [remember me]. /// </param> /// <returns> /// /// </returns> public bool Login(string username, string password, bool rememberMe = false) { IFlexMembershipUser user = _userStore.GetUserByUsername(username); if (user == null) { return(false); } string encodedPassword = _encoder.Encode(password, user.Salt); bool passed = encodedPassword.Equals(user.Password); if (passed) { _applicationEnvironment.IssueAuthTicket(username, rememberMe); return(true); } return(false); }
/// <summary> /// Dissassociates the OAuth account for a userid. /// </summary> /// <param name="provider"> The provider. </param> /// <param name="providerUserId"> The provider user id. </param> /// <returns> </returns> public bool DisassociateOAuthAccount(string provider, string providerUserId) { IFlexMembershipUser user = _userStore.GetUserByOAuthProvider(provider, providerUserId); if (user == null) { return(false); } IEnumerable <OAuthAccount> accounts = _userStore.GetOAuthAccountsForUser(user.Username); if (HasLocalAccount(user.Username)) { return(_userStore.DeleteOAuthAccount(provider, providerUserId)); } if (accounts.Count() > 1) { return(_userStore.DeleteOAuthAccount(provider, providerUserId)); } return(false); }
/// <summary> /// Determines whether the specific <paramref name="username" /> has a /// local account /// </summary> /// <param name="username"> The username. </param> /// <returns> <c>true</c> if the specified username has a local account; otherwise, <c>false</c> . </returns> public bool HasLocalAccount(string userName) { IFlexMembershipUser user = _userStore.GetUserByUsername(userName); return(user != null && !String.IsNullOrEmpty(user.Password)); }
public bool Exists(string userName) { IFlexMembershipUser user = _userStore.GetUserByUsername(userName); return(user != null); }
public IFlexMembershipUser Add(IFlexMembershipUser user) { _userCollection.Save(user); return(user); }
public IFlexMembershipUser CreateOAuthAccount(string provider, string providerUserId, IFlexMembershipUser user) { var account = new FlexOAuthAccount { Provider = provider, ProviderUserId = providerUserId }; if (user.OAuthAccounts == null) { user.OAuthAccounts = new Collection <FlexOAuthAccount>(); } user.OAuthAccounts.Add(account); _userCollection.Save(user); return(user); }
/// <summary> /// Creates an account. /// </summary> /// <param name="user"> The user. </param> public void CreateAccount(IFlexMembershipUser user) { IFlexMembershipUser existingUser = _userStore.GetUserByUsername(user.UserName); if (existingUser != null) { throw new FlexMembershipException(FlexMembershipStatus.DuplicateUserName); } user.Salt = user.Salt ?? _encoder.GenerateSalt(); user.Password = _encoder.Encode(user.Password, user.Salt); _userStore.Add(user); }
public void AddCredentialsToAccount(IFlexMembershipUser user) { user.Salt = user.Salt ?? _encoder.GenerateSalt(); user.Password = _encoder.Encode(user.Password, user.Salt); _userStore.Save(user); }
public void UpdateAccount(IFlexMembershipUser user) { _userStore.Save(user); }
public IFlexMembershipUser CreateOAuthAccount(string provider, string providerUserId, IFlexMembershipUser user) { user = _context.Set <TUser>().Single(u => u.Username == user.Username); if (user.OAuthAccounts == null) { user.OAuthAccounts = new EntityCollection <FlexOAuthAccount>(); } user.OAuthAccounts.Add(new FlexOAuthAccount() { Provider = provider, ProviderUserId = providerUserId }); _context.SaveChanges(); return(user); }
public IFlexMembershipUser Add(IFlexMembershipUser user) { _session.Store(user); _session.SaveChanges(); return(user); }
public IFlexMembershipUser Save(IFlexMembershipUser user) { _context.Entry(user).State = EntityState.Modified; _context.SaveChanges(); return(user); }
public IFlexMembershipUser Add(IFlexMembershipUser user) { _context.Set <TUser>().Add((TUser)user); _context.SaveChanges(); return(user); }