mirror of
https://github.com/bitwarden/server
synced 2025-12-23 03:33:35 +00:00
Feature/token service (#1785)
* 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>
This commit is contained in:
20
src/Core/Tokens/Tokenable.cs
Normal file
20
src/Core/Tokens/Tokenable.cs
Normal file
@@ -0,0 +1,20 @@
|
||||
using System.Text.Json;
|
||||
|
||||
namespace Bit.Core.Tokens
|
||||
{
|
||||
public abstract class Tokenable
|
||||
{
|
||||
public abstract bool Valid { get; }
|
||||
|
||||
public Token ToToken()
|
||||
{
|
||||
return new Token(JsonSerializer.Serialize(this, this.GetType()));
|
||||
}
|
||||
|
||||
public static T FromToken<T>(string token) => FromToken<T>(new Token(token));
|
||||
public static T FromToken<T>(Token token)
|
||||
{
|
||||
return JsonSerializer.Deserialize<T>(token.ToString());
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user