mirror of
https://github.com/bitwarden/server.git
synced 2025-07-01 08:02:49 -05:00
merge branch 'master' into 'encrypted-string-perf'
This commit is contained in:
@ -1,4 +1,5 @@
|
||||
using Microsoft.AspNetCore.DataProtection;
|
||||
using Microsoft.Extensions.Logging;
|
||||
|
||||
namespace Bit.Core.Tokens;
|
||||
|
||||
@ -26,11 +27,28 @@ public class Token
|
||||
return new Token(_token[expectedPrefix.Length..]);
|
||||
}
|
||||
|
||||
public Token ProtectWith(IDataProtector dataProtector) =>
|
||||
new(dataProtector.Protect(ToString()));
|
||||
|
||||
public Token UnprotectWith(IDataProtector dataProtector) =>
|
||||
new(dataProtector.Unprotect(ToString()));
|
||||
public Token ProtectWith(IDataProtector dataProtector, ILogger logger)
|
||||
{
|
||||
logger.LogDebug("Protecting token: {token}", this);
|
||||
return new(dataProtector.Protect(ToString()));
|
||||
}
|
||||
|
||||
public Token UnprotectWith(IDataProtector dataProtector, ILogger logger)
|
||||
{
|
||||
var unprotected = "";
|
||||
try
|
||||
{
|
||||
unprotected = dataProtector.Unprotect(ToString());
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
logger.LogInformation(e, "Failed to unprotect token: {token}", this);
|
||||
throw;
|
||||
}
|
||||
logger.LogDebug("Unprotected token: {token} to {decryptedToken}", this, unprotected);
|
||||
return new(unprotected);
|
||||
}
|
||||
|
||||
public override string ToString() => _token;
|
||||
}
|
||||
|
Reference in New Issue
Block a user