public async Task <LoginResponse> RefreshLoginAsync(string refreshToken) { if (!await _userBus.IsRefreshTokenValid(refreshToken).ConfigureAwait(false)) { var spec = new LoginSpec(); spec.AddMessage(BusinessSpecStatus.Unauthorized, UserServiceMessages.TokenExpirado); AddSpec(spec); return(null); } var refresh = await _userBus.GetRefreshTokenAsync(refreshToken).ConfigureAwait(false); var user = await _userBus.GetByIdAsync(refresh.IdUser).ConfigureAwait(false); if (user == null) { var spec = new LoginSpec(); spec.AddMessage(BusinessSpecStatus.Forbidden, UserServiceMessages.NomeUsuarioInvalido); AddSpec(spec); return(null); } var token = await _userBus.RefreshLoginAsync(refreshToken, user).ConfigureAwait(false); return(new LoginResponse(token.Token, token.IdUser, token.Email, token.RefreshToken)); }
public async Task <LoginResponse> LoginAsync(LoginRequest request) { var user = await _userBus.GetByEmailAsync(request.Email).ConfigureAwait(false); if (user == null) { var spec = new LoginSpec(); spec.AddMessage(BusinessSpecStatus.Forbidden, UserServiceMessages.NomeUsuarioInvalido); AddSpec(spec); return(null); } var token = await _userBus.LoginAsync(user).ConfigureAwait(false); return(new LoginResponse(token.Token, token.IdUser, token.Email, token.RefreshToken)); }