private static MetadataApiClientResponse getMetadataClient(MetadataApiClientRequest request) { ConsoleHelper.WriteWarningLine("Try login in your organization:"); PartnerLoginRequest requestPattern = PartnerApiService.createPartnerLoginRequest(request); PartnerLoginResponse responsePartner = PartnerApiService.login(requestPattern); ConsoleHelper.WriteDoneLine("OK! We Can Enter!"); return(MetadataApiClientService.getMetadataClient(responsePartner.UserId, responsePartner.SessionId, responsePartner.ServerUrl)); }
public PartnerLoginResponse PartnerLogin(PartnerLoginRequest request) { var logger = _container.GetInstance <ILogger>(); var enc = _container.GetInstance <IEncryptionService>(); var output = new PartnerLoginResponse(); try { using (var client = new WebClient()) { // Form together our request object. var url = $"{ROOT_URL_HTTPS}{PARTNER_LOGIN_METHOD}"; var obj = new JObject(); obj.Add("username", new JValue(request.UserName)); obj.Add("password", new JValue(request.Password)); obj.Add("deviceModel", new JValue(request.DeviceModel)); obj.Add("version", new JValue("5")); var objstring = obj.ToString(Newtonsoft.Json.Formatting.None); // POST the value off to the server. output.RequestSyncTime = GetNowSeconds(); var json = client.UploadString(url, objstring); // Parse the results. var token = JObject.Parse(json); output.Successful = (string)token.SelectToken("stat") == "ok"; output.PartnerAuthToken = (string)token.SelectToken("result.partnerAuthToken"); output.PartnerId = (string)token.SelectToken("result.partnerId"); var time = (string)token.SelectToken("result.syncTime"); var dectime = enc.Decrypt(time, request.DecryptionKey); output.ResponseSyncTime = int.Parse(Regex.Match(dectime.Substring(4), "^[0-9]*").Groups[0].Value); } } catch (Exception ex) { logger.LogMessage($"ERROR (HttpPandoraService,PartnerLogin): {ex.Message}"); output.Successful = false; } return(output); }
public static void SetPartnerSession(this Controller controller, PartnerLoginResponse data) { controller.HttpContext.Session.Set("PartnerLogin", data); }