public object Autenticar( [FromBody] AutenticarRequest request, [FromServices] SigningConfigurations signingConfigurations, [FromServices] TokenConfigurations tokenConfigurations) { bool credencialValidas = false; AutenticarResponse response = _serviceUsuario.Autenticar(request); credencialValidas = response != null; if (credencialValidas) { ClaimsIdentity identity = new ClaimsIdentity( new GenericIdentity(response.Id.ToString(), "Id"), new[] { new Claim(JwtRegisteredClaimNames.Jti, Guid.NewGuid().ToString("N")), new Claim("Usuario", JsonConvert.SerializeObject(response)) // guarda as informações do usuário na claim }); DateTime dataCriacao = DateTime.Now; DateTime dataExpiracao = dataCriacao + TimeSpan.FromSeconds(tokenConfigurations.Seconds); var handler = new JwtSecurityTokenHandler(); //Criar o Token var securityToken = handler.CreateToken(new SecurityTokenDescriptor { Issuer = tokenConfigurations.Issuer, Audience = tokenConfigurations.Audience, SigningCredentials = signingConfigurations.SigningCredentials, Subject = identity, NotBefore = dataCriacao, Expires = dataExpiracao }); var token = handler.WriteToken(securityToken); return(new { authenticated = true, created = dataCriacao.ToString("yyyy-MM-dd HH:mm:ss"), expiration = dataExpiracao.ToString("yyyy-MM-dd HH:mm:ss"), accessToken = token, message = "Ok", primeiroNomeDoPropriedade = response.PrimeiroNome }); } else { return(new { authenticated = false, _serviceUsuario.Notifications }); } }
public async Task <IActionResult> Listar() { try { //Guid Idusuario = Guid.NewGuid(); // vai vir do Token string usuarioClaims = _httpContextAccessor.HttpContext.User.FindFirst("Usuario").Value; AutenticarResponse usuarioResposne = JsonConvert.DeserializeObject <AutenticarResponse>(usuarioClaims); var response = _serviceCanal.Listar(usuarioResposne.Id); return(await ResponseAsync(response, _serviceCanal)); } catch (Exception ex) { return(await ResponseExceptionAsync(ex)); } }
public async Task <IActionResult> Adicionar([FromBody] AdicionarCanalRequest request) { try { //Guid Idusuario = Guid.NewGuid(); string usuarioClaims = _httpContextAccessor.HttpContext.User.FindFirst("Usuario").Value; AutenticarResponse usuarioResposne = JsonConvert.DeserializeObject <AutenticarResponse>(usuarioClaims); var response = _serviceCanal.AdicionarCanal(request, usuarioResposne.Id); return(await ResponseAsync(response, _serviceCanal)); } catch (Exception ex) { return(await ResponseExceptionAsync(ex)); } }