Пример #1
0
        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");
            }
        }
Пример #2
0
 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));
     }
 }
Пример #3
0
 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");
     }
 }