Implement password based authorization.

This commit is contained in:
2025-02-23 18:07:43 -05:00
parent 99f7061a9f
commit 0e9e110e01
6 changed files with 24 additions and 24 deletions

View File

@@ -1,8 +1,5 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace MarketData.Service
{

View File

@@ -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);

View File

@@ -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"]);
}
}

View File

@@ -3,5 +3,6 @@
"Service_Network": "diversified-software.com",
"Service_Postfix": ":8000",
"Service_Prefix": "http://",
"ServiceUser": "sean"
"ServiceUser": "sean",
"ServicePassword": "MN5191306"
}

View File

@@ -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
{

View File

@@ -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"]);