License Gen and Verification added to core
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
using Newtonsoft.Json;
|
||||
using Microsoft.AspNetCore.WebUtilities;
|
||||
using Newtonsoft.Json;
|
||||
using RelayCore.Endpoints;
|
||||
using RelayCore.Enums;
|
||||
using RelayCore.Models;
|
||||
@@ -97,4 +98,29 @@ public class APIAuthService(SurrealDbClient _db)
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
public async Task<string?> ServerLicenseGenerate(AuthServerLicenseGenerate request)
|
||||
{
|
||||
var hasher = new PasswordHasher();
|
||||
string token = null;
|
||||
token = hasher.HashPassword(DateTime.Now.ToString("yyyyMMddHHmmss"));
|
||||
var created = await _db.Create("auth_licenses", new DBLicense
|
||||
{
|
||||
Token = token,
|
||||
IsClient = false,
|
||||
CreatedAt = DateTime.UtcNow,
|
||||
ExpiresAt = DateTime.UtcNow.AddDays(365),
|
||||
IsExpired = false,
|
||||
});
|
||||
return token;
|
||||
}
|
||||
|
||||
public async Task<bool> ServerVerifyLicense(AuthServerLicenseVerify request)
|
||||
{
|
||||
var tokens = await _db.Select<DBLicense>("auth_licenses");
|
||||
var token = tokens.FirstOrDefault(x => x.Token == request.License);
|
||||
if (token != null)
|
||||
return true;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user