public async Task <ISS.Authentication.Public.Domain.ViewModels.User> Build(ISS.Authentication.Domain.Models.User user) { ISS.Authentication.Public.Domain.ViewModels.User _viewUser = new ISS.Authentication.Public.Domain.ViewModels.User(); _viewUser.Id = user.Id; _viewUser.UserName = user.UserName; _viewUser.HasPassword = (user.PasswordHash != ""); _viewUser.SecurityStamp = user.SecurityStamp; _viewUser.Email = user.Email; _viewUser.EmailConfirmed = user.EmailConfirmed; _viewUser.FirstName = user.FirstName; _viewUser.LastName = user.LastName; IList <UserLoginInfo> _logins = await _unitOfWork.UserStore.GetLoginsAsync(user); foreach (UserLoginInfo _login in _logins) { _viewUser.Logins.Add(new ISS.Authentication.Public.Domain.ViewModels.Login() { LoginProvider = _login.LoginProvider, ProviderKey = _login.ProviderKey }); } return(_viewUser); }
public async Task <ManageInfoViewModel> GetManageInfo(string returnUrl, bool generateState = false) { ISS.Authentication.Public.Domain.ViewModels.User user = await _userFactory.Build(new Guid(User.Identity.GetUserId())); if (user == null) { return(null); } List <UserLoginInfoViewModel> logins = new List <UserLoginInfoViewModel>(); foreach (ISS.Authentication.Public.Domain.ViewModels.Login linkedAccount in user.Logins) { logins.Add(new UserLoginInfoViewModel { LoginProvider = linkedAccount.LoginProvider, ProviderKey = linkedAccount.ProviderKey }); } if (user.HasPassword == true) { 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> ConfirmToken([FromBody] string token) { PasswordResetToken _token = await UnitOfWork.PasswordResetTokenStore.FindByToken(token); if (_token == null) { return(BadRequest("Invalid Token")); } if (_token.Expires < DateTime.Now) { return(BadRequest("Expired Token")); } if (_token.Used.HasValue) { return(BadRequest("Token Already Used")); } ISS.Authentication.Public.Domain.ViewModels.User _user = await UserFactory.Build(_token.UserId); if (_user == null) { return(BadRequest("User not Found")); } return(Ok(_user)); }