public async Task <HttpResponseMessage> Put() { HttpContent requestContent = Request.Content; string jsonContent = await requestContent.ReadAsStringAsync(); LoginCredentials credentials = JsonConvert.DeserializeObject <LoginCredentials>(jsonContent); if (!credentials.Username.IsUsernameValid() || !credentials.Password.IsPasswordValid()) { return(HelperClass.JsonHttpResponse <Object>(null)); } User user = _authService.FindByUsername(credentials.Username); if (user == null) { user = _authService.FindByEmail(credentials.Username); } if (user == null) { return(HelperClass.JsonHttpResponse <Object>(null)); } if (user.Password.Decrypt() == credentials.Password) { var loginSession = _sessionManager.CreateNewSession(user); return(HelperClass.JsonHttpResponse(loginSession)); } return(HelperClass.JsonHttpResponse <Object>(null)); }
public async Task <object> Get(GetLocalUser request) { var user = await _connectManager.GetLocalUser(request.ConnectUserId).ConfigureAwait(false); if (user == null) { throw new ResourceNotFoundException(); } var auth = _authContext.GetAuthorizationInfo(Request); if (string.IsNullOrWhiteSpace(auth.Client)) { return(ToOptimizedResult(new ConnectAuthenticationExchangeResult { AccessToken = user.ConnectAccessKey, LocalUserId = user.Id.ToString("N") })); } var session = await _sessionManager.CreateNewSession(new AuthenticationRequest { App = auth.Client, AppVersion = auth.Version, DeviceId = auth.DeviceId, DeviceName = auth.Device, RemoteEndPoint = Request.RemoteIp, Username = user.Name, UserId = user.Id.ToString("N") }).ConfigureAwait(false); return(ToOptimizedResult(new ConnectAuthenticationExchangeResult { AccessToken = session.AccessToken, LocalUserId = session.User.Id })); }
public ActionResult <SessionDto> Post([FromBody] SessionDto session) { session.Id = _sessionManager.CreateNewSession(session); return(Ok(session)); }