Fixed and Tested Auth methods

This commit is contained in:
2025-07-26 10:21:13 -07:00
parent 260bcddfca
commit b6d6a15893
2 changed files with 9 additions and 11 deletions
+8 -10
View File
@@ -15,8 +15,6 @@ namespace Auth.Controllers {
public MAuthController(DatabaseService db) : base(db) { }
static Dictionary<string, JWTMemCache> LoginSessions = new Dictionary<string, JWTMemCache>();
// Login and return a ticket to retreive your JWT
[HttpPost("login")]
public async Task<ActionResult> Authenticate([FromBody] LoginRequest request) {
@@ -34,9 +32,9 @@ namespace Auth.Controllers {
await _databaseService.SetAccount(test);
string Ticket = Guid.NewGuid().ToString().Replace("-", "");
LoginSessions[Ticket] = new JWTMemCache {
AuthJWT.LoginSessions[Ticket] = new JWTMemCache {
JWT = AuthJWT.GenereateJWTToken(test, request.StayLoggedIn),
ExpiresAt = DateTime.UtcNow.AddMinutes(2)
ExpiresAt = DateTime.UtcNow.AddSeconds(30)
};
return Ok(Ticket);
@@ -57,16 +55,16 @@ namespace Auth.Controllers {
}
[HttpPost("token")]
public ActionResult Token([FromForm] JWTRequest request) {
public ActionResult Token([FromBody] JWTRequest request) {
try {
if (LoginSessions.ContainsKey(request.Ticket)) {
JWTMemCache JWTObj = LoginSessions[request.Ticket];
if (JWTObj.ExpiresAt < DateTime.UtcNow) {
if (AuthJWT.LoginSessions.ContainsKey(request.Ticket)) {
JWTMemCache JWTObj = AuthJWT.LoginSessions[request.Ticket];
if (JWTObj.ExpiresAt >= DateTime.UtcNow) {
string JWT = JWTObj.JWT;
LoginSessions.Remove(request.Ticket);
AuthJWT.LoginSessions.Remove(request.Ticket);
return Ok(JWT);
} else {
LoginSessions.Remove(request.Ticket);
AuthJWT.LoginSessions.Remove(request.Ticket);
return BadRequest("The session ticket has already expired");
}
}