mycorerepository/MyCore/Controllers/TokenController.cs

57 lines
1.6 KiB
C#

using System;
using System.Collections.Generic;
using System.IdentityModel.Tokens.Jwt;
using System.Linq;
using System.Security.Claims;
using System.Security.Cryptography;
using System.Text;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using Microsoft.IdentityModel.Tokens;
using MyCore.Models;
using MyCore.Services;
namespace MyCore.Controllers
{
[Authorize]
[Route("api/token")]
[ApiController]
public class TokenController : ControllerBase
{
private TokenService _tokenService;
private UserService _userService;
public TokenController(TokenService tokenService, UserService userService)
{
_tokenService = tokenService;
_userService = userService;
}
[AllowAnonymous]
[HttpPost]
public ActionResult<UserInfo> Create(string email, string password)
{
//string test = _TokenService.GenerateSHA256String(password);
if (IsValidUserAndPasswordCombination(email, password))
{
UserInfo user = _userService.GetUser(email);
user.Token = _tokenService.GenerateToken(email).ToString();
return user;
}
return BadRequest();
}
private bool IsValidUserAndPasswordCombination(string email, string password)
{
// Test if is database and is correct
if (email == "thomas.fransolet@hotmail.be" && password == "MonsieurMagic") { return true; }
else return false;
}
}
}