Exemplo n.º 1
0
        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("");
            }
        }
Exemplo n.º 2
0
    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)));
    }
Exemplo n.º 3
0
 public virtual void Registrar(DnUsuarioParaAutenticacao usuario)
 {
 }
Exemplo n.º 4
0
 public abstract Task <(bool sucess, List <Claim> claims)> AutenticarAsync(DnUsuarioParaAutenticacao usuario);
Exemplo n.º 5
0
 public async Task <string> Entrar([FromBody] DnUsuarioParaAutenticacao usuario)
 {
     return(await Servico.EntrarAsync(usuario));
 }