public async Task <IActionResult> Login([FromBody] AuthenticationRequestDTO authenticationRequest) { _log.Information($"Token requested for {authenticationRequest.UserName}"); var user = await _userManager.FindByEmailAsync(authenticationRequest.UserName); if (user != null) { bool checkPassword = await _userManager.CheckPasswordAsync(user, authenticationRequest.Password); if (checkPassword) { var claims = new[] { new Claim(JwtRegisteredClaimNames.Sub, user.UserName), new Claim(JwtRegisteredClaimNames.Jti, user.Id.ToString()), new Claim(ClaimTypes.Name, user.UserName), new Claim(ClaimTypes.Email, user.Email) }; var key = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(_configuration["Jwt:Key"])); var credentials = new SigningCredentials(key, SecurityAlgorithms.HmacSha256); var token = new JwtSecurityToken(_configuration["Jwt:Issuer"], _configuration["Jwt:Issuer"], claims, expires: DateTime.Now.AddMinutes(30), signingCredentials: credentials); return(Ok(new { token = new JwtSecurityTokenHandler().WriteToken(token) })); } } return(BadRequest("Could not create token")); }
public static UserRequestDTO SetDataParameters(AuthenticationRequestDTO data, string token = null, string expires = null) { return(new UserRequestDTO { nickName = data.userName, email = data.email }); }
public override void OnAuthorization(HttpActionContext actionContext) { if (actionContext.Request.Headers.Authorization == null || actionContext.Request.Headers.Authorization.Scheme != TaxiOnlineIdentity.AuthenticationTypeName || string.IsNullOrEmpty(actionContext.Request.Headers.Authorization.Parameter)) { //HandleUnauthorizedRequest(actionContext); return; } AuthenticationRequestDTO request = JsonConvert.DeserializeObject <AuthenticationRequestDTO>(actionContext.Request.Headers.Authorization.Parameter); System.Threading.Thread.CurrentPrincipal = new TaxiOnlineUser(request); }
public HttpResponseMessage GelLoginUser([FromBody] AuthenticationRequestDTO data) { var token = string.Empty; var respMessage = new HttpResponseMessage(); if (data == null) { return(BaseController.Security.GetMessageNotCreateUser(respMessage, "Dados inválidos")); } BaseController.Security.GetMessageCreateUser(respMessage, _userBusiness.SelectUserLogin(data)); return(respMessage); }
public HttpResponseMessage GetPartnerMail(string token, [FromBody] AuthenticationRequestDTO data) { var respMessage = new HttpResponseMessage(); if (data == null) { return(BaseController.Security.GetMessageNotCreateUser(respMessage, "Dados inválidos")); } if (string.IsNullOrWhiteSpace(token)) { return(BaseController.Security.GetMessageNotCreateUser(respMessage, "Unauthorized")); } BaseController.Security.GetMessageCreateUser(respMessage, _userBusiness.SelectUserByData(data.nameSystem, token, data.sKey)); return(respMessage); }
public HttpResponseMessage GetAccessToken([FromBody] AuthenticationRequestDTO data) { var respMessage = new HttpResponseMessage(); if (data == null) { return(BaseController.Security.GetMessageUnauthorizedLogin(respMessage)); } if (data.sKey == null) { return(BaseController.Security.GetMessageUnauthorizedLogin(respMessage)); } var sKey = string.Empty; var isUserNamePasswordValid = false; var loginRequest = new UserRequestDTO { nickName = data.userName.ToLower(), email = data.email }; if (data != null) { var messageError = string.Empty; if (_userBusiness.SelectUserByData(data.userName, data.email, data.sKey, out messageError)) { sKey = data.sKey; } else { sKey = null; } if (!string.IsNullOrWhiteSpace(messageError)) { return(BaseController.Security.GetMessageInternalError(respMessage, messageError)); } isUserNamePasswordValid = sKey == null ? false : true; } if (isUserNamePasswordValid) { var expires = string.Empty; var sToken = string.Empty; var proccessDate = DateTime.Now; var token = BaseController.Security.CreteToken(loginRequest.nickName, sKey); if (string.IsNullOrWhiteSpace(token)) { return(BaseController.Security.GetMessageUnauthorizedLogin(respMessage)); } BaseController.Security.GetMessageAuthorizedLogin(respMessage, BaseController.Security.SetCookieSession(loginRequest, token, Request, out expires, out sToken), sToken, proccessDate, data.email, data.nameSystem); if (!_authBusiness.InsertToken(new AuthenticationResponseDTO { email = data.email, expires = Convert.ToDateTime(expires), nameSystem = data.nameSystem, processDate = proccessDate, token = token })) { respMessage = BaseController.Security.MessageUnauthorized(Request); } } else { respMessage = BaseController.Security.MessageUnauthorized(Request); } return(respMessage); }
public TaxiOnlineIdentity(AuthenticationRequestDTO request) { _name = request.Id; }
public AuthenticationResponseDTO SelectUserLogin(AuthenticationRequestDTO data) { var resultGuid = _userRepository.SelectUserByEmail(new UserRequestDTO { email = data.email }); if (resultGuid != null) { var resultUser = _userRepository.SelectUserByEmailPass(new UserRequestDTO { email = data.email, codeIn = data.codeIn }); if (resultUser != null && resultUser.Count() > 0) { if (resultGuid.FirstOrDefault().guid == resultUser.FirstOrDefault().guid) { var resultoken = _securityResponse.ValidateToken(new AuthenticationRequestDTO { email = resultUser.FirstOrDefault().email, nameSystem = data.nameSystem }); if (resultoken != null && resultoken.Count() > 0) { if (EncodeDecode.CrashOut(resultUser.FirstOrDefault().password) == EncodeDecode.CrashOut(data.codeIn)) { if (resultoken.FirstOrDefault().nameSystem == data.nameSystem) { _responseAuth.email = data.email; _responseAuth.nameSystem = resultoken.FirstOrDefault().nameSystem; _responseAuth.guid = resultUser.FirstOrDefault().guid; _responseAuth.hasAccess = true; _responseAuth.token = resultoken.FirstOrDefault().token; _responseAuth.userName = resultUser.FirstOrDefault().userName; _responseAuth.statusCode = System.Net.HttpStatusCode.OK; _responseAuth.message = "Usuário validado com sucesso!"; } else { _responseAuth.email = string.Empty; _responseAuth.hasAccess = false; _responseAuth.statusCode = System.Net.HttpStatusCode.Unauthorized; _responseAuth.message = "Usuário não encontrado!"; return(_responseAuth); } } else { _responseAuth.email = string.Empty; _responseAuth.hasAccess = false; _responseAuth.statusCode = System.Net.HttpStatusCode.Unauthorized; _responseAuth.message = "Usuário não encontrado!"; return(_responseAuth); } } else { _responseAuth.email = string.Empty; _responseAuth.hasAccess = false; _responseAuth.statusCode = System.Net.HttpStatusCode.Unauthorized; _responseAuth.message = "Usuário não encontrado!"; return(_responseAuth); } } else { _responseAuth.email = string.Empty; _responseAuth.hasAccess = false; _responseAuth.statusCode = System.Net.HttpStatusCode.Unauthorized; _responseAuth.message = "Usuário não encontrado!"; return(_responseAuth); } } else { _responseAuth.email = string.Empty; _responseAuth.hasAccess = false; _responseAuth.statusCode = System.Net.HttpStatusCode.Unauthorized; _responseAuth.message = "Usuário não encontrado!"; return(_responseAuth); } } return(_responseAuth); }
public TaxiOnlineUser(AuthenticationRequestDTO request) { _identity = new TaxiOnlineIdentity(request); }