diff options
Diffstat (limited to 'Controllers')
-rw-r--r-- | Controllers/MessageController.cs | 10 | ||||
-rw-r--r-- | Controllers/UsersController.cs | 8 | ||||
-rw-r--r-- | Controllers/WeatherForecastController.cs | 2 |
3 files changed, 17 insertions, 3 deletions
diff --git a/Controllers/MessageController.cs b/Controllers/MessageController.cs index bacaf5c..2f4a8d8 100644 --- a/Controllers/MessageController.cs +++ b/Controllers/MessageController.cs @@ -9,9 +9,15 @@ namespace IdentityAPI.Controllers { public class MessageController : ControllerBase { public MessageController() {} - [HttpGet] - public async Task<IActionResult> Show() { + [HttpGet("message_authenticated")] + public IActionResult AuthenticationMessage() { return Ok(new { message = "Authentication succesful" }); } + + [HttpGet("message_anonymous")] + [AllowAnonymous] + public IActionResult AnonymousMessage() { + return Ok(new { message = "Anonymous detected." }); + } } }
\ No newline at end of file diff --git a/Controllers/UsersController.cs b/Controllers/UsersController.cs index d5dded5..5483a6b 100644 --- a/Controllers/UsersController.cs +++ b/Controllers/UsersController.cs @@ -54,6 +54,14 @@ namespace IdentityAPI.Controllers { return StatusCode(400, new { error = "Invalid request body" }); } + [HttpGet("refresh")] + [Authorize(AuthenticationSchemes = JwtBearerDefaults.AuthenticationScheme)] + public async Task<IActionResult> Refresh() { + var user = await _manager.FindByEmailAsync(HttpContext.User.Claims.Where(c => c.Type.Contains("email")).FirstOrDefault().Value); + + return Ok(new { Token = GenerateToken(user) }); + } + private string GenerateToken(IdentityUser user) { var key = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(_configuration["Jwt:Key"])); var creds = new SigningCredentials(key, SecurityAlgorithms.HmacSha256); diff --git a/Controllers/WeatherForecastController.cs b/Controllers/WeatherForecastController.cs index f7fdcdf..1a64e77 100644 --- a/Controllers/WeatherForecastController.cs +++ b/Controllers/WeatherForecastController.cs @@ -5,7 +5,6 @@ using Microsoft.AspNetCore.Authorization; namespace IdentityAPI.Controllers; [ApiController] -[Authorize(AuthenticationSchemes = JwtBearerDefaults.AuthenticationScheme)] [Route("[controller]")] public class WeatherForecastController : ControllerBase { @@ -22,6 +21,7 @@ public class WeatherForecastController : ControllerBase } [HttpGet(Name = "GetWeatherForecast")] + [Authorize(AuthenticationSchemes = JwtBearerDefaults.AuthenticationScheme)] public IEnumerable<WeatherForecast> Get() { return Enumerable.Range(1, 5).Select(index => new WeatherForecast |