1- using JSE . WebApp . MVC . Models ;
1+ using JSE . WebApp . MVC . Controllers ;
2+ using JSE . WebApp . MVC . Models ;
23using JSE . WebApp . MVC . Services ;
3- using Microsoft . AspNetCore . Authentication ;
4- using Microsoft . AspNetCore . Authentication . Cookies ;
54using Microsoft . AspNetCore . Mvc ;
6- using System . IdentityModel . Tokens . Jwt ;
7- using System . Security . Claims ;
85
9- namespace JSE . WebApp . MVC . Controllers
6+ namespace NSE . WebApp . MVC . Controllers
107{
118 public class IdentidadeController : MainController
129 {
13-
1410 private readonly IAutenticacaoService _autenticacaoService ;
1511
16- public IdentidadeController ( IAutenticacaoService autenticacaoService )
12+ public IdentidadeController (
13+ IAutenticacaoService autenticacaoService )
1714 {
1815 _autenticacaoService = autenticacaoService ;
1916 }
@@ -27,18 +24,17 @@ public IActionResult Registro()
2724
2825 [ HttpPost ]
2926 [ Route ( "nova-conta" ) ]
30- public async Task < IActionResult > Registro ( UsuarioRegistroViewModel usuarioRegistroViewModel )
27+ public async Task < IActionResult > Registro ( UsuarioRegistroViewModel usuarioRegistro )
3128 {
32- if ( ! ModelState . IsValid ) return View ( usuarioRegistroViewModel ) ;
29+ if ( ! ModelState . IsValid ) return View ( usuarioRegistro ) ;
3330
34- var resposta = await _autenticacaoService . Registro ( usuarioRegistroViewModel ) ;
31+ var resposta = await _autenticacaoService . Registro ( usuarioRegistro ) ;
3532
36- if ( ResponsePossuiErros ( resposta . ResponseResult ) ) return View ( usuarioRegistroViewModel ) ;
33+ if ( ResponsePossuiErros ( resposta . ResponseResult ) ) return View ( usuarioRegistro ) ;
3734
38- await RealizarLogin ( resposta ) ;
35+ await _autenticacaoService . RealizarLogin ( resposta ) ;
3936
4037 return RedirectToAction ( "Index" , "Catalogo" ) ;
41-
4238 }
4339
4440 [ HttpGet ]
@@ -51,17 +47,16 @@ public IActionResult Login(string returnUrl = null)
5147
5248 [ HttpPost ]
5349 [ Route ( "login" ) ]
54- public async Task < IActionResult > Login ( UsuarioLoginViewModel usuarioLoginViewModel , string returnUrl = null )
50+ public async Task < IActionResult > Login ( UsuarioLoginViewModel usuarioLogin , string returnUrl = null )
5551 {
5652 ViewData [ "ReturnUrl" ] = returnUrl ;
53+ if ( ! ModelState . IsValid ) return View ( usuarioLogin ) ;
5754
58- if ( ! ModelState . IsValid ) return View ( usuarioLoginViewModel ) ;
55+ var resposta = await _autenticacaoService . Login ( usuarioLogin ) ;
5956
60- var resposta = await _autenticacaoService . Login ( usuarioLoginViewModel ) ;
57+ if ( ResponsePossuiErros ( resposta . ResponseResult ) ) return View ( usuarioLogin ) ;
6158
62- if ( ResponsePossuiErros ( resposta . ResponseResult ) ) return View ( usuarioLoginViewModel ) ;
63-
64- await RealizarLogin ( resposta ) ;
59+ await _autenticacaoService . RealizarLogin ( resposta ) ;
6560
6661 if ( string . IsNullOrEmpty ( returnUrl ) ) return RedirectToAction ( "Index" , "Catalogo" ) ;
6762
@@ -72,35 +67,8 @@ public async Task<IActionResult> Login(UsuarioLoginViewModel usuarioLoginViewMod
7267 [ Route ( "sair" ) ]
7368 public async Task < IActionResult > Logout ( )
7469 {
75- await HttpContext . SignOutAsync ( CookieAuthenticationDefaults . AuthenticationScheme ) ;
70+ await _autenticacaoService . Logout ( ) ;
7671 return RedirectToAction ( "Index" , "Catalogo" ) ;
7772 }
78-
79- private async Task RealizarLogin ( UsuarioRespostaLoginViewModel usuarioRespostaLoginViewModel )
80- {
81- var token = ObterTokenFormatado ( usuarioRespostaLoginViewModel . AccessToken ) ;
82-
83- var claims = new List < Claim > ( ) ;
84- claims . Add ( new Claim ( "JWT" , usuarioRespostaLoginViewModel . AccessToken ) ) ;
85- claims . AddRange ( token . Claims ) ;
86-
87- var claimsIdentity = new ClaimsIdentity ( claims , CookieAuthenticationDefaults . AuthenticationScheme ) ;
88-
89- var authProperties = new AuthenticationProperties
90- {
91- ExpiresUtc = DateTimeOffset . UtcNow . AddMinutes ( 60 ) ,
92- IsPersistent = true
93- } ;
94-
95- await HttpContext . SignInAsync (
96- CookieAuthenticationDefaults . AuthenticationScheme ,
97- new ClaimsPrincipal ( claimsIdentity ) ,
98- authProperties ) ;
99- }
100-
101- private static JwtSecurityToken ObterTokenFormatado ( string jwtToken )
102- {
103- return new JwtSecurityTokenHandler ( ) . ReadToken ( jwtToken ) as JwtSecurityToken ;
104- }
10573 }
106- }
74+ }
0 commit comments