/// <summary> /// Login an Ampla user using session /// </summary> /// <param name="session"></param> /// <param name="message"></param> /// <returns></returns> public AmplaUser SessionLogin(string session, out string message) { message = null; AmplaUser user = amplaUserStore.GetUserBySession(session); if (user != null) { user = Renew(user); } if (user == null) { RenewSessionRequest request = new RenewSessionRequest { Session = new Session { SessionID = session, User = "" } }; Exception exception; RenewSessionResponse response = CatchExceptions(() => securityWebService.RenewSession(request), out exception); if (response != null) { user = new AmplaUser(response.Session.User, response.Session.SessionID, false, "AmplaSession"); amplaUserStore.StoreUser(user); } if (user == null) { message = exception.Message; } } return(user); }
private AmplaUser Renew(AmplaUser user) { AmplaUser renewedUser = null; if (user != null) { RenewSessionRequest request = new RenewSessionRequest { Session = new Session { User = user.UserName, SessionID = user.Session } }; Exception exception; RenewSessionResponse response = CatchExceptions(() => securityWebService.RenewSession(request), out exception); if (response != null) { renewedUser = user; renewedUser.UpdateActivityDate(); } else { amplaUserStore.RemoveUser(user); } } return(renewedUser); }