38 lines
1.4 KiB
C#
38 lines
1.4 KiB
C#
using System;
|
|
using System.Threading.Tasks;
|
|
using gehGassi.Domain.Users;
|
|
|
|
namespace gehGassi.Core.Interfaces
|
|
{
|
|
/// <summary>
|
|
/// Schnittstellenbeschreibung für einen Service der die Verwaltung von gespeicherten Authentifizierungs-Ticktes ermöglicht
|
|
/// </summary>
|
|
public interface IPersistedTicketService : IService<PersistedTicket>
|
|
{
|
|
/// <summary>
|
|
/// Speichern eines Tickets.
|
|
/// Wenn es noch nicht existiert, wird es angelegt.
|
|
/// Wenn es existiert, wird es aktualisiert
|
|
/// </summary>
|
|
/// <param name="key">Key des Tickes</param>
|
|
/// <param name="userId">Benutzername</param>
|
|
/// <param name="ticket">Ticket als Byte-Array</param>
|
|
/// <param name="expires">Ablaufdatum des Tickets</param>
|
|
/// <returns>Task</returns>
|
|
Task SaveAsync(string key, string userId, byte[] ticket, DateTimeOffset? expires);
|
|
|
|
/// <summary>
|
|
/// Löscht alle abgelaufenen Tickets
|
|
/// </summary>
|
|
/// <returns>true wenn erfolgreich, false sonst</returns>
|
|
Task<bool> RemoveExpiredAsync();
|
|
|
|
/// <summary>
|
|
/// Löschen eines Tickets aus dem Store
|
|
/// </summary>
|
|
/// <param name="key">Key des Tickets</param>
|
|
/// <returns>true wenn erfolgreich, false sonst</returns>
|
|
Task<bool> RemoveAsync(string key);
|
|
}
|
|
}
|