51 lines
2.0 KiB
C#
51 lines
2.0 KiB
C#
using Newtonsoft.Json.Linq;
|
|
|
|
namespace ServerBase;
|
|
|
|
public class MetaverseBrokerConfig
|
|
{
|
|
public required string JwtSecretKey { get; init; }
|
|
public int ExpireMinutes { get; init; } = 1440;
|
|
public required string Issuer { get; init; } = string.Empty;
|
|
public required string Audience { get; init; } = string.Empty;
|
|
public required string MetaverseBrokerDb { get; init; }
|
|
public required string MetaverseBrokerDbLocal { get; init; }
|
|
public required string SsoAccountDb { get; init; }
|
|
}
|
|
|
|
// TODO: getset 파일로 이동할 것
|
|
public partial class ServerConfig
|
|
{
|
|
public MetaverseBrokerConfig? MetaverseBroker;
|
|
}
|
|
|
|
public class ServerConfigMetaverseBroker : ServerConfig
|
|
{
|
|
public override async Task<Result> parseConfig(JObject loadedJosn)
|
|
{
|
|
var result = await base.parseConfig(loadedJosn);
|
|
if (result.isSuccess())
|
|
{
|
|
var r = loadedJosn.ContainsKey("MetaverseBroker");
|
|
var jToken = loadedJosn["MetaverseBroker"];
|
|
if (jToken != null)
|
|
{
|
|
MetaverseBroker = new MetaverseBrokerConfig
|
|
{
|
|
JwtSecretKey = jToken["JwtSecretKey"]?.Value<string>() ?? string.Empty,
|
|
ExpireMinutes = jToken["ExpireMinutes"]?.Value<int>() ?? 1440,
|
|
Issuer = jToken["Issuer"]?.Value<string>() ?? string.Empty,
|
|
Audience = jToken["Audience"]?.Value<string>() ?? string.Empty,
|
|
MetaverseBrokerDb = jToken["MetaverseBrokerDb"]?.Value<string>() ?? string.Empty,
|
|
MetaverseBrokerDbLocal = jToken["MetaverseBrokerDbLocal"]?.Value<string>() ?? string.Empty,
|
|
SsoAccountDb = jToken["SsoAccountDb"]?.Value<string>() ?? string.Empty
|
|
};
|
|
return result;
|
|
}
|
|
}
|
|
|
|
result.setFail(ServerErrorCode.ServerConfigFileNotFound, "server config error : metaverse_broker not found");
|
|
|
|
return await Task.FromResult(result);
|
|
}
|
|
} |