Class UserController  
  
  
    - Namespace
- Oqtane.Controllers
- Assembly
- Oqtane.Server.dll
 
  
  
  
    [Route("api/[controller]")]
public class UserController : Controller
   
  
    - Inheritance
- 
      object ControllerBase Controller UserController 
Constructors
  
  
  UserController(IUserRepository, ITenantManager, IUserManager, ISiteRepository, IUserPermissions, IJwtManager, IFileRepository, ISettingRepository, ISyncManager, ILogManager)
  
  
  
  
  
    public UserController(IUserRepository users, ITenantManager tenantManager, IUserManager userManager, ISiteRepository sites, IUserPermissions userPermissions, IJwtManager jwtManager, IFileRepository files, ISettingRepository settings, ISyncManager syncManager, ILogManager logger)
   
  Parameters
  
    - usersIUserRepository
- tenantManagerITenantManager
- userManagerIUserManager
- sitesISiteRepository
- userPermissionsIUserPermissions
- jwtManagerIJwtManager
- filesIFileRepository
- settingsISettingRepository
- syncManagerISyncManager
- loggerILogManager
Methods
  
  
  Authenticate()
  
  
  
  
  
    [HttpGet("authenticate")]
public User Authenticate()
   
  Returns
  
    - User
  Delete(int, string)
  
  
  
  
  
    [HttpDelete("{id}")]
[Authorize(Policy = "User:Write:Host Users")]
public Task Delete(int id, string siteid)
   
  Parameters
  
    - idint
- siteidstring
Returns
  
    - Task
  Forgot(User)
  
  
  
  
  
    [HttpPost("forgot")]
public Task Forgot(User user)
   
  Parameters
  
    - userUser
Returns
  
    - Task
  Get(int, string)
  
  
  
  
  
    [HttpGet("{id}")]
[Authorize]
public User Get(int id, string siteid)
   
  Parameters
  
    - idint
- siteidstring
Returns
  
    - User
  Get(string, string)
  
  
  
  
  
    [HttpGet("username/{username}")]
public User Get(string username, string siteid)
   
  Parameters
  
    - usernamestring
- siteidstring
Returns
  
    - User
  Get(string, string, string)
  
  
  
  
  
    [HttpGet("search/{username}/{email}")]
public User Get(string username, string email, string siteid)
   
  Parameters
  
    - usernamestring
- emailstring
- siteidstring
Returns
  
    - User
  Import(string, string, string)
  
  
  
  
  
    [HttpPost("import")]
[Authorize(Roles = "Administrators")]
public Task<Dictionary<string, string>> Import(string siteid, string fileid, string notify)
   
  Parameters
  
    - siteidstring
- fileidstring
- notifystring
Returns
  
    - Task<Dictionary<string, string>>
  Link(User, string, string, string, string)
  
  
  
  
  
    [HttpPost("link")]
public Task<User> Link(User user, string token, string type, string key, string name)
   
  Parameters
  
    - userUser
- tokenstring
- typestring
- keystring
- namestring
Returns
  
    - Task<User>
  Login(User, bool, bool)
  
  
  
  
  
    [HttpPost("login")]
public Task<User> Login(User user, bool setCookie, bool isPersistent)
   
  Parameters
  
    - userUser
- setCookiebool
- isPersistentbool
Returns
  
    - Task<User>
  Logout(User)
  
  
  
  
  
    [HttpPost("logout")]
[Authorize]
public Task Logout(User user)
   
  Parameters
  
    - userUser
Returns
  
    - Task
  LogoutEverywhere(User)
  
  
  
  
  
    [HttpPost("logouteverywhere")]
[Authorize]
public Task LogoutEverywhere(User user)
   
  Parameters
  
    - userUser
Returns
  
    - Task
  PasswordRequirements(int)
  
  
  
  
  
    [HttpGet("passwordrequirements/{siteid}")]
public Dictionary<string, string> PasswordRequirements(int siteid)
   
  Parameters
  
    - siteidint
Returns
  
    - Dictionary<string, string>
  PersonalAccessToken()
  
  
  
  
  
    [HttpGet("personalaccesstoken")]
[Authorize(Roles = "Administrators")]
public string PersonalAccessToken()
   
  Returns
  
    - string
  Post(User)
  
  
  
  
  
    [HttpPost]
public Task<User> Post(User user)
   
  Parameters
  
    - userUser
Returns
  
    - Task<User>
  Put(int, User)
  
  
  
  
  
    [HttpPut("{id}")]
[Authorize]
public Task<User> Put(int id, User user)
   
  Parameters
  
    - idint
- userUser
Returns
  
    - Task<User>
  Reset(User, string)
  
  
  
  
  
    [HttpPost("reset")]
public Task<User> Reset(User user, string token)
   
  Parameters
  
    - userUser
- tokenstring
Returns
  
    - Task<User>
  Token()
  
  
  
  
  
    [HttpGet("token")]
[Authorize(Roles = "Registered Users")]
public string Token()
   
  Returns
  
    - string
  TwoFactor(User, string)
  
  
  
  
  
    [HttpPost("twofactor")]
public User TwoFactor(User user, string token)
   
  Parameters
  
    - userUser
- tokenstring
Returns
  
    - User
  Validate(string)
  
  
  
  
  
    [HttpGet("validate/{password}")]
public Task<bool> Validate(string password)
   
  Parameters
  
    - passwordstring
Returns
  
    - Task<bool>
  ValidateUser(string, string, string)
  
  
  
  
  
    [HttpGet("validateuser")]
public Task<UserValidateResult> ValidateUser(string username, string email, string password)
   
  Parameters
  
    - usernamestring
- emailstring
- passwordstring
Returns
  
    - Task<UserValidateResult>
  Verify(User, string)
  
  
  
  
  
    [HttpPost("verify")]
public Task<User> Verify(User user, string token)
   
  Parameters
  
    - userUser
- tokenstring
Returns
  
    - Task<User>