/// <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); }
//You may wish to replace this code with your preferred library for posting and receiving JSON data. private static RenewSessionResponse MakeWebRequest(string requestUrl, RenewSessionRequest request) { var webRequest = WebRequest.Create(requestUrl) as HttpWebRequest; webRequest.Method = "POST"; webRequest.ContentType = "application/json"; var jsonSerializer = new JavaScriptSerializer(); var requestStr = jsonSerializer.Serialize(request); Debug.WriteLine(requestStr); using (var writer = new StreamWriter(webRequest.GetRequestStream())) { writer.Write(requestStr); writer.Close(); } var response = webRequest.GetResponse() as HttpWebResponse; string jsonResult; using (var reader = new StreamReader(response.GetResponseStream())) { jsonResult = reader.ReadToEnd(); reader.Close(); } Debug.WriteLine(jsonResult); return(jsonSerializer.Deserialize <RenewSessionResponse>(jsonResult)); }
public HttpRequestMessage BuildRenewSessionRequest() { var requestUri = BuildRenewSessionUrl(); var requestBody = new RenewSessionRequest() { OldSessionToken = _sessionToken, RequestType = "RENEW" }; var jsonBody = JsonSerializer.Serialize(requestBody, _jsonSerializerOptions); var request = BuildJsonRequestMessage(requestUri, HttpMethod.Post, jsonBody, true); return(request); }
// token received from CreateSession API call public RenewSessionResponse RenewSecureToken(string secureToken) { var sessionToken = new RenewSessionRequestBody { SystemId = Constants.SystemId, SystemPassword = Constants.SystemPassword, }; var renewSessionRequest = new RenewSessionRequest { RequestHeader = new RequestHeader { Token = secureToken }, RenewSessionRequestBody = sessionToken }; return(MakeWebRequest(Constants.ReNewSessionRequestUrl, renewSessionRequest)); }