45 lines
1.4 KiB
C#
Executable File
45 lines
1.4 KiB
C#
Executable File
using MarketData;
|
|
using MarketData.Utils;
|
|
using MarketDataServer.Authorization;
|
|
using Microsoft.AspNetCore.Mvc;
|
|
using LogLevel = MarketData.LogLevel;
|
|
|
|
namespace MarketDataServer.Controllers
|
|
{
|
|
[ApiController]
|
|
[Route("api/[controller]/[action]")]
|
|
public class AuthorizationController : ControllerBase
|
|
{
|
|
[HttpGet(Name = "GetToken")]
|
|
public String GetToken(String user, String password)
|
|
{
|
|
Profiler profiler = new Profiler();
|
|
try
|
|
{
|
|
MDTrace.WriteLine(LogLevel.DEBUG,$"Start");
|
|
if(null==user)return null;
|
|
user=Authorizations.Xor(user,5);
|
|
password=Authorizations.Xor(password,5);
|
|
MDTrace.WriteLine(LogLevel.DEBUG,$"Login requested for user '{user}'");
|
|
if(!Authorizations.GetInstance().IsValidUser(user, password))
|
|
{
|
|
MDTrace.WriteLine(LogLevel.DEBUG,$"User '{user}' is not authorized.");
|
|
return null;
|
|
}
|
|
String accessToken= Authorizations.GetInstance().GetAuthenticationToken();
|
|
MDTrace.WriteLine(LogLevel.DEBUG,$"Access token granted for user {user} : {accessToken}.");
|
|
return accessToken;
|
|
}
|
|
catch(Exception exception)
|
|
{
|
|
MDTrace.WriteLine(LogLevel.DEBUG,$"Exception:{exception.ToString()}");
|
|
return null;
|
|
}
|
|
finally
|
|
{
|
|
MDTrace.WriteLine(LogLevel.DEBUG,$"Done, total took {profiler.End()} (ms)");
|
|
}
|
|
}
|
|
}
|
|
}
|