Add hashing and other security features #12

Merged
Wesser merged 45 commits from feat/add-security into feat/add-setup 2024-05-29 06:42:47 +03:00
Showing only changes of commit f4ad1518ef - Show all commits

View File

@ -17,26 +17,28 @@ public class PreAuthService(ICacheService cache)
GeneratorKey.GenerateString(16);
private static string GetPreAuthCacheKey(string fingerprint) => $"{fingerprint}_pre_auth_token";
{
var firstAuthToken = GenerateFirstAuthToken();
var loginStructure = new PreAuthToken
public async Task<PreAuthTokenResponse> GeneratePreAuthTokenAsync(TokenRequest request, string userId, CancellationToken cancellation = default)
{
var preAuthToken = GeneratePreAuthToken();
var preAuthTokenStruct = new PreAuthToken
{
Fingerprint = request.Fingerprint,
UserId = userId,
UserAgent = request.UserAgent,
Token = firstAuthToken
Token = preAuthToken
};
await cache.SetAsync(
GetPreAuthCacheKey(request.Fingerprint),
JsonSerializer.SerializeToUtf8Bytes(loginStructure),
JsonSerializer.SerializeToUtf8Bytes(preAuthTokenStruct),
Lifetime,
cancellation);
return new PreAuthTokenResponse
{
Token = firstAuthToken,
Token = preAuthToken,
ExpiresIn = DateTime.UtcNow.Add(Lifetime)
};
}