Exemplo n.º 1
0
        public async Task <IHttpActionResult> SignIn([FromBody] ClientSignInRequest request)
        {
            if (!this.ModelState.IsValid)
            {
                return(this.BadRequest(this.ModelState));
            }

            Client client;

            try
            {
                client = (Client)request.ToEntity(this.Context);
            }
            catch (NotImplementedException)
            {
                client = (Client)await request.ToEntityAsync(this.Context);
            }

            if (client == null || client.IsBlocked)
            {
                return(this.Unauthorized());
            }

            return(this.Ok(client));
        }
Exemplo n.º 2
0
    public ActionResult <ClientSignInResponse> PostSignIn(ClientSignInRequest request)
    {
        var client = _context.Client
                     .Where(a => a.Email == request.Email)
                     .Single();

        if (client == null)
        {
            return(NotFound());
        }

        if (!Hash.Validate(request.Password, client.Password))
        {
            return(NotFound());
        }

        return(Ok(new ClientSignInResponse()
        {
            Id = client.Id,
            Email = client.Email,
            Name = client.Name,
            Token = JwtSecurityTokenHelper.BuildToken(configuration["Jwt:Key"], client),
        }));
    }