public UserAuthorizationM Register(UserCreateM model, Guid?admin_user_id) { try { if (string.IsNullOrEmpty(model.Username) | string.IsNullOrEmpty(model.Password)) { throw BadRequest("The username or password not must emplty!"); } if (_user.Any(u => u.Username.Equals(model.Username))) { throw BadRequest("The username has been used!"); } User user = _user.Add(new User { Username = model.Username, Password = NococidAuthentication.GetHashedPassword(model.Username, model.Password), AdminUserId = admin_user_id }); SaveChanges(); UserAuthorizationM result = new UserAuthorizationM { HasVscAccount = false, User = new UserM { Id = user.Id, Username = user.Username } }; if (admin_user_id != null) { result.AdminUser = _user.Where(u => u.Id.Equals(admin_user_id)) .Select(u => new UserM { Id = u.Id, Username = u.Username }).FirstOrDefault(); } return(result); } catch (Exception e) { throw e is RequestException ? e : _errorHandler.WriteLog("An error occurred while register!", e, DateTime.Now, "Server", "Service_User_Register"); } }
public IActionResult Login([FromQuery] string redirect_uri, [FromBody] UserLoginM model) { try { string role = ApplicationRole.Web_User; UserAuthorizationM result = _user.Login(model); if (model.Username.Equals(ApplicationAuth.Nococid_Application_Admin)) { role = ApplicationRole.Application_Admin; } result.Jwt = _jwtAuth.GenerateJwt(result.AdminUser == null ? Guid.Empty : result.AdminUser.Id, result.User.Id, role); if (string.IsNullOrEmpty(redirect_uri)) { return(Ok(result)); } return(Redirect(redirect_uri + "?user=nococid&jwt=" + result.Jwt)); } catch (Exception e) { return(GetError(e)); } }
public UserAuthorizationM Register(UserCreateM model, Guid?admin_user_id) { try { if (string.IsNullOrEmpty(model.Username) || string.IsNullOrEmpty(model.Password)) { throw BadRequest("The username or password not must emplty!"); } if (Utils.GuidUtils.users.Any(u => u.Username.Equals(model.Username))) { throw BadRequest("The username has been used!"); } var user = new User { Id = Utils.GuidUtils.GetNewGuid(), Username = model.Username, Password = ProjectManagementAuthentication.GetHashedPassword(model.Username, model.Password), AdminUserId = admin_user_id }; Utils.GuidUtils.users.Add(user); UserAuthorizationM result = new UserAuthorizationM { User = new UserM { Id = user.Id, Username = user.Username } }; return(result); } catch (Exception e) { throw e is RequestException ? e : _errorHandler.WriteLog("An error occurred while register!", e, DateTime.Now, "Server", "Service_User_Register"); } }