using SameBeat.Domain.Encje;
namespace SameBeat.Application.Interfejsy;
/// Wynik weryfikacji hasla wobec zapisanego hasha.
public enum WynikWeryfikacjiHasla
{
Niepoprawne,
Poprawne,
/// Haslo poprawne, ale hash zapisany starszym algorytmem -- warto go przeliczyc.
PoprawneWymagaRehaszowania
}
///
/// Opakowanie na Microsoft.Extensions.Identity.Core PasswordHasher -- ukryte za interfejsem,
/// zeby Application nie zalezal od konkretnej biblioteki hashujacej.
///
public interface IUslugaHaszowaniaHasel
{
string Haszuj(Uzytkownik uzytkownik, string hasloJawne);
WynikWeryfikacjiHasla Weryfikuj(Uzytkownik uzytkownik, string hasloHash, string hasloJawne);
}