diff options
| author | Claus Vium <cvium@users.noreply.github.com> | 2020-11-06 00:57:01 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-11-06 00:57:01 +0100 |
| commit | 40453da089ca15fdaaa8cb9a0297990892bb977b (patch) | |
| tree | f5ea04d96bdd8c6a54801d11ddb3ffb63a8cd486 /Jellyfin.Api/Controllers/UserController.cs | |
| parent | 3c6cbb6161eaa504df9fea28830b026a3a9001cf (diff) | |
| parent | 3756611d0155b77d1a17be63e71a3181904d4bc3 (diff) | |
Merge pull request #4422 from crobibero/users-me
Add /Users/Me endpoint
Diffstat (limited to 'Jellyfin.Api/Controllers/UserController.cs')
| -rw-r--r-- | Jellyfin.Api/Controllers/UserController.cs | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/Jellyfin.Api/Controllers/UserController.cs b/Jellyfin.Api/Controllers/UserController.cs index 7b0897bfb..0f7c25d0e 100644 --- a/Jellyfin.Api/Controllers/UserController.cs +++ b/Jellyfin.Api/Controllers/UserController.cs @@ -530,6 +530,33 @@ namespace Jellyfin.Api.Controllers return result; } + /// <summary> + /// Gets the user based on auth token. + /// </summary> + /// <response code="200">User returned.</response> + /// <response code="400">Token is not owned by a user.</response> + /// <returns>A <see cref="UserDto"/> for the authenticated user.</returns> + [HttpGet("Me")] + [Authorize(Policy = Policies.DefaultAuthorization)] + [ProducesResponseType(StatusCodes.Status200OK)] + [ProducesResponseType(StatusCodes.Status400BadRequest)] + public ActionResult<UserDto> GetCurrentUser() + { + var userId = ClaimHelpers.GetUserId(Request.HttpContext.User); + if (userId == null) + { + return BadRequest(); + } + + var user = _userManager.GetUserById(userId.Value); + if (user == null) + { + return BadRequest(); + } + + return _userManager.GetUserDto(user); + } + private IEnumerable<UserDto> Get(bool? isHidden, bool? isDisabled, bool filterByDevice, bool filterByNetwork) { var users = _userManager.Users; |
