public async Task Logout() { await _authenticationService.SignOutAsync( _user.ObterHttpContext(), CookieAuthenticationDefaults.AuthenticationScheme, null); }
public async Task RealizarLogin(UsuarioRespostaLogin resposta) { var token = ObterTokenFormatado(resposta.AccessToken); var claims = new List <Claim> { new Claim("JWT", resposta.AccessToken), new Claim("RefreshToken", resposta.RefreshToken) }; claims.AddRange(token.Claims); var claimsIdentity = new ClaimsIdentity(claims, CookieAuthenticationDefaults.AuthenticationScheme); var authProperties = new AuthenticationProperties { ExpiresUtc = DateTimeOffset.UtcNow.AddHours(8), IsPersistent = true }; await _authenticationService.SignInAsync( _user.ObterHttpContext(), CookieAuthenticationDefaults.AuthenticationScheme, new ClaimsPrincipal(claimsIdentity), authProperties); }
private string CodificarToken(ClaimsIdentity identityClaims) { #region Autenticação Syncrona /* * var tokenHandler = new JwtSecurityTokenHandler(); * var key = Encoding.ASCII.GetBytes(_appSettings.Secret); * * var token = tokenHandler.CreateToken(new SecurityTokenDescriptor * { * Issuer = _appSettings.Emissor, * Audience = _appSettings.ValidoEm, * Subject = identityClaims, * Expires = DateTime.UtcNow.AddHours(_appSettings.ExpiracaoHoras), * SigningCredentials = new SigningCredentials(new SymmetricSecurityKey(key), SecurityAlgorithms.HmacSha256Signature) * }); * * return tokenHandler.WriteToken(token); */ #endregion var tokenHandler = new JwtSecurityTokenHandler(); var currentIssuer = $"{_aspNetUser.ObterHttpContext().Request.Scheme}://{_aspNetUser.ObterHttpContext().Request.Host}"; var key = _jwksService.GetCurrent(); var token = tokenHandler.CreateToken(new SecurityTokenDescriptor { Issuer = currentIssuer, Subject = identityClaims, Expires = DateTime.UtcNow.AddHours(1), SigningCredentials = key }); return(tokenHandler.WriteToken(token)); }
private string CodificarToken(ClaimsIdentity identityClaims) { var tokenHandler = new JwtSecurityTokenHandler(); var currentIssuer = $"{_aspNetUser.ObterHttpContext().Request.Scheme}://{_aspNetUser.ObterHttpContext().Request.Host}"; var key = _jwksService.GetCurrent(); var token = tokenHandler.CreateToken(new SecurityTokenDescriptor { Issuer = currentIssuer, Subject = identityClaims, Expires = DateTime.UtcNow.AddHours(1), SigningCredentials = key }); return(tokenHandler.WriteToken(token)); }
private string GenerateToken(ClaimsIdentity identityClaims) { var tokenHandler = new JwtSecurityTokenHandler(); var currentIssuer = $"{_aspNetUser.ObterHttpContext().Request.Scheme}://{_aspNetUser.ObterHttpContext().Request.Host}"; var key = Encoding.ASCII.GetBytes(_appSettings.Secret); var token = tokenHandler.CreateToken(new SecurityTokenDescriptor { Issuer = _appSettings.Emissor, Audience = _appSettings.ValidoEm, Subject = identityClaims, Expires = DateTime.UtcNow.AddSeconds(_appSettings.Expiracao), SigningCredentials = new SigningCredentials(new SymmetricSecurityKey(key), SecurityAlgorithms.HmacSha256Signature) }); return(tokenHandler.WriteToken(token)); }
private string CodificarToken(ClaimsIdentity claims) { var currentIssuer = $"{_aspNetUser.ObterHttpContext().Request.Scheme}://{_aspNetUser.ObterHttpContext().Request.Host}"; //Para manipular o token var tokenHandle = new JwtSecurityTokenHandler(); //Key var key = _jsonWebKeySetService.GetCurrentSigningCredentials(); //Gerar o token var token = tokenHandle.CreateToken(new SecurityTokenDescriptor { Issuer = currentIssuer, Subject = claims, Expires = DateTime.UtcNow.AddHours(1), SigningCredentials = key }); //Escrever o token. Serializar no padrão da web var encodedToken = tokenHandle.WriteToken(token); return(encodedToken); }
protected override Task <HttpResponseMessage> SendAsync(HttpRequestMessage request, CancellationToken cancellationToken) { var authorizationHeader = _user.ObterHttpContext().Request.Headers["Authorization"]; if (!string.IsNullOrEmpty(authorizationHeader)) { request.Headers.Add("Authorization", new List <string>() { authorizationHeader }); } var token = _user.ObterUserToken(); if (token != null) { request.Headers.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("Bearer", token); } return(base.SendAsync(request, cancellationToken)); }