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