Implement password based authorization.
This commit is contained in:
@@ -1,8 +1,5 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace MarketData.Service
|
||||
{
|
||||
|
||||
@@ -42,7 +42,7 @@ namespace MarketData.Service
|
||||
/// </summary>
|
||||
/// <param name="url">The fully qualified url http://100.0.0.0:8000.</param>
|
||||
/// <param name="user">The user.</param>
|
||||
public void SetUrl(String url,String user)
|
||||
public void SetUrl(String url,String user, String password)
|
||||
{
|
||||
lock(this)
|
||||
{
|
||||
@@ -51,7 +51,7 @@ namespace MarketData.Service
|
||||
httpClient = new HttpClient();
|
||||
httpClient.BaseAddress = baseUri;
|
||||
httpClient.Timeout=CONNECTION_TIMEOUT;
|
||||
ServiceResult serviceResult=Login(user);
|
||||
ServiceResult serviceResult=Login(user, password);
|
||||
if(!serviceResult.Success)return;
|
||||
accessToken=(String)serviceResult.ContextSpecificResult;
|
||||
}
|
||||
@@ -97,7 +97,7 @@ namespace MarketData.Service
|
||||
}
|
||||
}
|
||||
}
|
||||
private ServiceResult Login(String user)
|
||||
private ServiceResult Login(String user, String password)
|
||||
{
|
||||
lock(this)
|
||||
{
|
||||
@@ -106,7 +106,9 @@ namespace MarketData.Service
|
||||
if(!IsNetworkAvailable())return new ServiceResult(false,"No network.");
|
||||
StringBuilder sb = new StringBuilder();
|
||||
user = Authorizations.Xor(user);
|
||||
password = Authorizations.Xor(password);
|
||||
sb.Append("/api/Authorization/GetToken?").Append("user=").Append(user);
|
||||
sb.Append("&password=").Append(password);
|
||||
String json = httpClient.GetStringAsync(sb.ToString()).Result;
|
||||
String accessToken = JsonConvert.DeserializeObject<String>(json);
|
||||
return new ServiceResult(accessToken);
|
||||
|
||||
@@ -26,17 +26,17 @@ namespace Navigator
|
||||
String ipAddress=IPCache.GetIPAddress();
|
||||
if (null != ipAddress && MarketDataServiceClient.GetInstance().Ping(ToUrl(ipAddress)))
|
||||
{
|
||||
MarketDataServiceClient.GetInstance().SetUrl(ToUrl(ipAddress), AppSettingsManager.Settings["ServiceUser"]);
|
||||
MarketDataServiceClient.GetInstance().SetUrl(ToUrl(ipAddress), AppSettingsManager.Settings["ServiceUser"], AppSettingsManager.Settings["ServicePassword"]);
|
||||
}
|
||||
else if (MarketDataServiceClient.IsWiFiNetwork() && MarketDataServiceClient.GetInstance().Ping(ToUrl(AppSettingsManager.Settings["Service_Local"])))
|
||||
{
|
||||
IPCache.SaveIPAddress(AppSettingsManager.Settings["Service_Local"]);
|
||||
MarketDataServiceClient.GetInstance().SetUrl(ToUrl(AppSettingsManager.Settings["Service_Local"]), AppSettingsManager.Settings["ServiceUser"]);
|
||||
MarketDataServiceClient.GetInstance().SetUrl(ToUrl(AppSettingsManager.Settings["Service_Local"]), AppSettingsManager.Settings["ServiceUser"], AppSettingsManager.Settings["ServicePassword"]);
|
||||
}
|
||||
else if (MarketDataServiceClient.GetInstance().Ping(ToUrl(AppSettingsManager.Settings["Service_Network"])))
|
||||
{
|
||||
IPCache.SaveIPAddress(AppSettingsManager.Settings["Service_Network"]);
|
||||
MarketDataServiceClient.GetInstance().SetUrl(ToUrl(AppSettingsManager.Settings["Service_Network"]), AppSettingsManager.Settings["ServiceUser"]);
|
||||
MarketDataServiceClient.GetInstance().SetUrl(ToUrl(AppSettingsManager.Settings["Service_Network"]), AppSettingsManager.Settings["ServiceUser"], AppSettingsManager.Settings["ServicePassword"]);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -3,5 +3,6 @@
|
||||
"Service_Network": "diversified-software.com",
|
||||
"Service_Postfix": ":8000",
|
||||
"Service_Prefix": "http://",
|
||||
"ServiceUser": "sean"
|
||||
"ServiceUser": "sean",
|
||||
"ServicePassword": "MN5191306"
|
||||
}
|
||||
@@ -1,16 +1,16 @@
|
||||
using System;
|
||||
using System.Text;
|
||||
using System.IO.Compression;
|
||||
using System.IO;
|
||||
using System.Globalization;
|
||||
using System.Linq;
|
||||
using Microsoft.Win32;
|
||||
using System.Diagnostics;
|
||||
using System.Collections.Generic;
|
||||
using Navigator.MarketDataModel;
|
||||
using Xamarin.Forms;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.ConstrainedExecution;
|
||||
//using System.Text;
|
||||
//using System.IO.Compression;
|
||||
//using System.Globalization;
|
||||
//using System.Linq;
|
||||
//using Microsoft.Win32;
|
||||
//using System.Diagnostics;
|
||||
//using System.Collections.Generic;
|
||||
//using Navigator.MarketDataModel;
|
||||
//using Xamarin.Forms;
|
||||
//using System.Runtime.CompilerServices;
|
||||
//using System.Runtime.ConstrainedExecution;
|
||||
|
||||
namespace Navigator.Utils
|
||||
{
|
||||
|
||||
@@ -62,7 +62,7 @@ namespace Navigator.ViewModels
|
||||
Status="ping "+url+" ...";
|
||||
if(MarketDataServiceClient.GetInstance().Ping(url))
|
||||
{
|
||||
MarketDataServiceClient.GetInstance().SetUrl(url,AppSettingsManager.Settings["ServiceUser"]);
|
||||
MarketDataServiceClient.GetInstance().SetUrl(url,AppSettingsManager.Settings["ServiceUser"], AppSettingsManager.Settings["ServiceUser"]);
|
||||
IPCache.SaveIPAddress(ipAddress);
|
||||
Status ="ping succeeded";
|
||||
}
|
||||
@@ -77,7 +77,7 @@ namespace Navigator.ViewModels
|
||||
IPAddress="";
|
||||
if(MarketDataServiceClient.IsWiFiNetwork() && MarketDataServiceClient.GetInstance().Ping(ToUrl(AppSettingsManager.Settings["Service_Local"])))
|
||||
{
|
||||
MarketDataServiceClient.GetInstance().SetUrl(ToUrl(AppSettingsManager.Settings["Service_Local"]),AppSettingsManager.Settings["ServiceUser"]);
|
||||
MarketDataServiceClient.GetInstance().SetUrl(ToUrl(AppSettingsManager.Settings["Service_Local"]), AppSettingsManager.Settings["ServiceUser"], AppSettingsManager.Settings["ServicePassword"]);
|
||||
Message=ToUrl(AppSettingsManager.Settings["Service_Local"]);
|
||||
IPCache.SaveIPAddress(AppSettingsManager.Settings["Service_Local"]);
|
||||
Status="ping succeeded, connection reset to "+ToUrl(AppSettingsManager.Settings["Service_Local"]);
|
||||
@@ -86,7 +86,7 @@ namespace Navigator.ViewModels
|
||||
Status="ping "+ToUrl(AppSettingsManager.Settings["Service_Network"])+" ...";
|
||||
if(MarketDataServiceClient.GetInstance().Ping(ToUrl(AppSettingsManager.Settings["Service_Network"])))
|
||||
{
|
||||
MarketDataServiceClient.GetInstance().SetUrl(ToUrl(AppSettingsManager.Settings["Service_Network"]),AppSettingsManager.Settings["ServiceUser"]);
|
||||
MarketDataServiceClient.GetInstance().SetUrl(ToUrl(AppSettingsManager.Settings["Service_Network"]),AppSettingsManager.Settings["ServiceUser"], AppSettingsManager.Settings["ServicePassword"]);
|
||||
Message=ToUrl(AppSettingsManager.Settings["Service_Network"]);
|
||||
IPCache.SaveIPAddress(AppSettingsManager.Settings["Service_Network"]);
|
||||
Status="ping succeeded, connection reset to "+ToUrl(AppSettingsManager.Settings["Service_Network"]);
|
||||
|
||||
Reference in New Issue
Block a user