mmo authentication support

This commit is contained in:
Spirtix 2024-04-07 15:40:24 +02:00
parent 471f09280c
commit 2c30736193
2 changed files with 34 additions and 0 deletions

View File

@ -212,4 +212,19 @@ public class AuthenticationController : Controller {
return Ok(MembershipUserStatus.Success);
}
[HttpPost]
[Produces("application/xml")]
[Route("Authentication/MMOAuthentication")]
public IActionResult MMOAuthentication([FromForm] Guid token) {
AuthenticationInfo info = new();
info.Authenticated = false;
var session = ctx.Sessions.FirstOrDefault(x => x.ApiToken == token);
if (session != null) {
info.Authenticated = true;
info.DisplayName = session.Viking.Name;
info.Role = Role.User;
}
return Ok(info);
}
}

View File

@ -0,0 +1,19 @@
using System.Xml.Serialization;
namespace sodoff.Schema;
[Serializable]
public class AuthenticationInfo {
[XmlElement]
public bool Authenticated { get; set; }
[XmlElement]
public string DisplayName { get; set; } = string.Empty;
[XmlElement]
public Role Role { get; set; } = Role.User;
}
[Serializable]
public enum Role {
User, Admin, Moderator
}