public virtual async Task <string> EntrarAsync(DnUsuarioParaAutenticacao user) { if (user is null) { throw new ArgumentNullException(nameof(user)); } if (string.IsNullOrWhiteSpace(user.Email)) { throw new ArgumentNullException(nameof(user.Email)); } var(sucesso, claims) = await AutenticarAsync(user); if (sucesso) { if (claims == null) { claims = new List <Claim>(); } claims.Add(new Claim(JwtRegisteredClaimNames.Jti, Guid.NewGuid().ToString("N"))); var identity = new ClaimsIdentity(new GenericIdentity(user.Email), claims); return(GerarToken(identity, Setup.ConfiguracoesGlobais.InformacoesDoJWT.Expires ?? TimeSpan.FromDays(1))); } else { return(""); } }
public override async Task <(bool sucess, List <Claim> claims)> AutenticarAsync(DnUsuarioParaAutenticacao usuario) { var spec = CriarEspecificacao <UsuarioESenhaEspecificacao>().AdicionarParametros(usuario.Email, usuario.Senha); var sucess = await ServicoDeUsuario.ExisteAsync(spec); var claims = new List <Claim>() { new Claim("email-do-cliente", usuario.Email) }; return(await Task.FromResult((sucess, claims))); }
public virtual void Registrar(DnUsuarioParaAutenticacao usuario) { }
public abstract Task <(bool sucess, List <Claim> claims)> AutenticarAsync(DnUsuarioParaAutenticacao usuario);
public async Task <string> Entrar([FromBody] DnUsuarioParaAutenticacao usuario) { return(await Servico.EntrarAsync(usuario)); }