public AuthTokenResultDTO AuthToken(AuthTokenDTO authTokenDTO) { _logger.LogInformation("AuthToken generating token"); var tokenHandler = new JwtSecurityTokenHandler(); var secret = Encoding.ASCII.GetBytes(_appSettings.Secret); IDictionary <string, string> SubjectRaw = authTokenDTO.SubjectRaw; var claims = new List <Claim>(); foreach (var item in SubjectRaw) { claims.Add(new Claim(item.Key, item.Value)); } SecurityKey key = new SymmetricSecurityKey(secret); string algorithm = SecurityAlgorithms.HmacSha256Signature; var tokenDescriptor = new SecurityTokenDescriptor { Subject = new ClaimsIdentity(claims), Expires = DateTime.UtcNow.AddDays(7), SigningCredentials = new SigningCredentials(key, algorithm), Claims = authTokenDTO.Claims }; var token = tokenHandler.CreateToken(tokenDescriptor); var tokenString = tokenHandler.WriteToken(token); return(new AuthTokenResultDTO { Token = tokenString }); }
public async Task <IActionResult> UpdateDescription([FromBody] AuthTokenDTO updatedToken) { var user = await UserManager.GetUserAsync(User); await DataService.UpdateTokenDescription(updatedToken.Token, updatedToken.Description, user); return(Ok()); }
public async Task <ActionResult> Login([FromBody] UserAuthDTO userAuth) { // UserAuthDTO userAuth = new UserAuthDTO(); using (UnitOfWork uow = new UnitOfWork()) { UsersAuthRepository usersAuthRepository = new UsersAuthRepository(uow); userAuth = await usersAuthRepository.Login(userAuth); } if (userAuth == null) { return(Conflict()); } else { string token = SessionManager.StartNewSession(userAuth.Id); AuthTokenDTO authToken = new AuthTokenDTO(token); authToken.UserId = userAuth.Id; return(Ok(authToken)); } }
public UserSignInResultDTO UserSignIn(UserSignInDTO userSignInDTO) { AccountFindResultDTO accountFindResultDTO = _accountService.Find(userSignInDTO.Email); //TODO migrate to _accountService AuthVerifyDTO authVerifyDTO = new AuthVerifyDTO { ValueRaw = userSignInDTO.Password, ValueSalt = accountFindResultDTO.PasswordSalt, ValueHash = accountFindResultDTO.PasswordHash }; _authService.Verify(authVerifyDTO); AuthTokenDTO authTokenDTO = new AuthTokenDTO { SubjectRaw = new Dictionary <string, string> { ["id"] = userSignInDTO.Email }, Claims = new Dictionary <string, object>() }; AuthTokenResultDTO authTokenResultDTO = _authService.AuthToken(authTokenDTO); return(new UserSignInResultDTO { Token = authTokenResultDTO.Token }); }
public TokenCreatedEvent(int userId, AuthTokenDTO newToken, string oldToken = "") { UserId = userId; NewToken = newToken; OldToken = oldToken; }
public HttpResponseMessage UserLogin(UserPasswordModel userPasswordModel) { var securityUrl = ConfigurationManager.AppSettings["AuthServer"]; var clientID = ConfigurationManager.AppSettings["ClientID"]; HttpWebRequest httpWReq = (HttpWebRequest)WebRequest.Create(securityUrl + @"/oauth2/token"); ASCIIEncoding encoding = new ASCIIEncoding(); string postData = "Username="******"&Password="******"&grant_type=password"; postData += "&client_id=" + clientID; try { byte[] data = encoding.GetBytes(postData); httpWReq.Method = "POST"; httpWReq.ContentType = "application/x-www-form-urlencoded"; httpWReq.ContentLength = data.Length; using (Stream stream = httpWReq.GetRequestStream()) { stream.Write(data, 0, data.Length); } HttpWebResponse response = (HttpWebResponse)httpWReq.GetResponse(); string responseString = new StreamReader(response.GetResponseStream()).ReadToEnd(); AuthTokenDTO authToken = JsonConvert.DeserializeObject <AuthTokenDTO>(responseString); var user = _IUserService.GetUserByUserName(userPasswordModel.UserName); var userLookedUp = user; var portUser = _IPortalUserService.QueryData().Where(p => p.User.Id == user.Id).ToList(); var userPort = portUser[0].Port; //var portalDefinition = _IPortalService.GetPortalDefinition(userPort.Id); var portalUser = PlatformMappingHelper.Map <User, PortalUserDTO>(user); //AutherizationResponseDTO autherizationResponse = new AutherizationResponseDTO //{ AuthToken = authToken, PortalId = userPort.Id, PortalUser = portalUser }; var autherizationResponse = new { data = authToken, error = "" }; var userOrg = user.Orgs.FirstOrDefault(); portalUser.Org = PlatformMappingHelper.Map <Org, OrgDTO>(userOrg); try { if (user != null) { user.UserLoginHists.Add(new UserLoginHist { LoginDate = DateTime.UtcNow }); _UnitOfWork.Commit(); } } catch (Exception daExp) { var x = daExp; } return(Request.CreateResponse <dynamic>(HttpStatusCode.OK, autherizationResponse)); } catch (Exception exp) { return(Request.CreateResponse(HttpStatusCode.BadRequest)); } }