From d326dd87e01b8ed1cf7dca12e44153c8267e1427 Mon Sep 17 00:00:00 2001 From: dmolinari Date: Tue, 14 Apr 2026 13:28:24 -0300 Subject: [PATCH] feat(infra): implement RefreshTokenGenerator with cryptographic random bytes --- .../Security/RefreshTokenGenerator.cs | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 src/api/SIGCM2.Infrastructure/Security/RefreshTokenGenerator.cs diff --git a/src/api/SIGCM2.Infrastructure/Security/RefreshTokenGenerator.cs b/src/api/SIGCM2.Infrastructure/Security/RefreshTokenGenerator.cs new file mode 100644 index 0000000..6bc2c19 --- /dev/null +++ b/src/api/SIGCM2.Infrastructure/Security/RefreshTokenGenerator.cs @@ -0,0 +1,17 @@ +using System.Security.Cryptography; +using SIGCM2.Application.Abstractions.Security; + +namespace SIGCM2.Infrastructure.Security; + +public sealed class RefreshTokenGenerator : IRefreshTokenGenerator +{ + public string Generate() + { + Span bytes = stackalloc byte[32]; + RandomNumberGenerator.Fill(bytes); + return Convert.ToBase64String(bytes) + .TrimEnd('=') + .Replace('+', '-') + .Replace('/', '_'); + } +}