mirror of
https://github.com/bitwarden/server.git
synced 2025-05-28 23:04:50 -05:00

* Implement draft token service * Add tokenizer and factory * Handle expiring tokens through base class * Allow direct token validity checks * Add safe unprotect to tokenizer * Add interface to tokenizer factory * Use tokenizer * Fix rebase * Handle cleartext prefix in tokenizer base * Use epoch milliseconds for expiration in tokens * Use tokenizers * Test tokens * Linter fixes * Add TokenizerFactory to DI services * Test epoch milliseconds deserialization * Use separate injectables for each token type * Fix directory * Add functional unprotect to token * Fix namespace and correct object names * Remove Tokenable interface * Test remaining Tokens classes * Dotnet format * Fix sut provider errors with update * Remove useless property Co-authored-by: Hinton <oscar@oscarhinton.com>
16 lines
432 B
C#
16 lines
432 B
C#
using System;
|
|
using System.Text.Json.Serialization;
|
|
using Bit.Core.Utilities;
|
|
|
|
namespace Bit.Core.Tokens
|
|
{
|
|
public abstract class ExpiringTokenable : Tokenable
|
|
{
|
|
[JsonConverter(typeof(EpochDateTimeJsonConverter))]
|
|
public DateTime ExpirationDate { get; set; }
|
|
public override bool Valid => ExpirationDate > DateTime.UtcNow && TokenIsValid();
|
|
|
|
protected abstract bool TokenIsValid();
|
|
}
|
|
}
|