Authorize sat op og lavet en healthcontroller

This commit is contained in:
Jeas0001 2025-03-20 09:35:38 +01:00
parent 9b2b65a152
commit 928c4e7a42
4 changed files with 25 additions and 2 deletions

View File

@ -1,6 +1,7 @@
using Microsoft.AspNetCore.Mvc;
using Api.Models;
using Api.DBAccess;
using Microsoft.AspNetCore.Authorization;
namespace Api.Controllers
{
@ -15,7 +16,7 @@ namespace Api.Controllers
_context = context;
}
// For at få json webtokens til at virke skriv [Authorize] over de endpoints
[Authorize]
[HttpGet]
public async Task<IActionResult> GetDevices(int userId)
{
@ -25,6 +26,7 @@ namespace Api.Controllers
return Ok(devices);
}
[Authorize]
[HttpPost("adddevice/{userId}")]
public async Task<IActionResult> AddDevice([FromBody] Device device, int userId)
{
@ -34,6 +36,7 @@ namespace Api.Controllers
return Ok();
}
[Authorize]
[HttpGet("logs/{deviceId}")]
public async Task<IActionResult> GetLogs(int deviceId)
{
@ -43,6 +46,7 @@ namespace Api.Controllers
return Ok(logs);
}
[Authorize]
[HttpPut("Edit/{deviceId}")]
public async Task<IActionResult> EditDevice([FromBody] Device device, int deviceId)
{

View File

@ -0,0 +1,12 @@
using Microsoft.AspNetCore.Mvc;
namespace Api.Controllers
{
[ApiController]
[Route("api/[controller]")]
public class HealthController : Controller
{
[HttpGet]
public async Task<IActionResult> Heath() { return Ok(); }
}
}

View File

@ -5,6 +5,7 @@ using Microsoft.IdentityModel.Tokens;
using System.IdentityModel.Tokens.Jwt;
using System.Security.Claims;
using System.Text;
using Microsoft.AspNetCore.Authorization;
namespace Api.Controllers
{
@ -40,6 +41,7 @@ namespace Api.Controllers
return Ok();
}
[Authorize]
[HttpPut("Edit/{userId}")]
public async Task<IActionResult> EditUser([FromBody] User user, int userId)
{
@ -49,6 +51,7 @@ namespace Api.Controllers
return Ok();
}
[Authorize]
[HttpDelete("Delete/{userId}")]
public async Task<IActionResult> DeleteUser(int userId)
{

View File

@ -44,7 +44,11 @@ namespace Api.DBAccess
public async Task<User> Login(User user)
{
var profile = await _context.Users.FirstAsync(u => u.UserName == user.UserName);
if (profile == null)
{
profile = await _context.Users.FirstAsync(u => u.Email == user.Email);
}
string hashedPassword = ComputeHash(user.Password, SHA256.Create(), profile.Salt);
if (hashedPassword == user.Password)