Esempio n. 1
0
        /// <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);
        }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
        //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);
        }
Esempio n. 5
0
        // 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));
        }