Anapher/Strive

View on GitHub
src/Services/ConferenceManagement/Strive.Infrastructure/Auth/TokenFactory.cs

Summary

Maintainability
A
0 mins
Test Coverage
using System;
using System.Security.Cryptography;
using Strive.Core.Interfaces.Services;
using Strive.Infrastructure.Extensions;

namespace Strive.Infrastructure.Auth
{
    public class TokenFactory : ITokenFactory
    {
        public string GenerateToken(int size = 32)
        {
            var randomNumber = new byte[size];
            using var rng = RandomNumberGenerator.Create();

            rng.GetBytes(randomNumber);
            return Convert.ToBase64String(randomNumber).ToUrlBase64().Substring(0, size);
        }
    }
}