117 lines
3.7 KiB
C#
117 lines
3.7 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.ComponentModel;
|
|
using System.Data;
|
|
using System.Drawing;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Windows.Forms;
|
|
|
|
namespace AyaNova.PlugIn.V8
|
|
{
|
|
public partial class Auth : Form
|
|
{
|
|
public Auth()
|
|
{
|
|
InitializeComponent();
|
|
}
|
|
|
|
private async void btnTest_Click(object sender, EventArgs e)
|
|
{
|
|
if (!ValidateAndCleanServerAddress()) return;
|
|
btnOk.Enabled = btnTest.Enabled = false;
|
|
var result = await util.InitAndConfirmAddressAsync(edServerUrl.Text);
|
|
btnOk.Enabled = btnTest.Enabled = true;
|
|
if (result == "OK")
|
|
{
|
|
MessageBox.Show("Server URL is GOOD!");
|
|
}
|
|
else
|
|
{
|
|
MessageBox.Show("Server could not be reached at that URL\n" + result);
|
|
}
|
|
}
|
|
private async void btnOk_Click(object sender, EventArgs e)
|
|
{
|
|
if (!ValidateAndCleanServerAddress()) return;
|
|
btnOk.Enabled = btnTest.Enabled = false;
|
|
// if (!util.Initialized)
|
|
//{
|
|
var result = await util.InitAndConfirmAddressAsync(edServerUrl.Text);
|
|
if (result != "OK")
|
|
{
|
|
MessageBox.Show("Server could not be reached at that URL\n" + result);
|
|
btnOk.Enabled = btnTest.Enabled = true;
|
|
return;
|
|
}
|
|
// }
|
|
var res = await util.AuthenticateAsync(edUserName.Text, edPassword.Text);
|
|
if (!res)
|
|
{
|
|
MessageBox.Show("AyaNova 8 superuser account login failed");
|
|
btnOk.Enabled = btnTest.Enabled = true;
|
|
return;
|
|
}
|
|
btnOk.Enabled = btnTest.Enabled = true;
|
|
|
|
this.DialogResult = DialogResult.OK;
|
|
this.Close();
|
|
|
|
}
|
|
|
|
private void btnCancel_Click(object sender, EventArgs e)
|
|
{
|
|
this.DialogResult = System.Windows.Forms.DialogResult.Cancel;
|
|
this.Close();
|
|
}
|
|
|
|
private void Auth_Load(object sender, EventArgs e)
|
|
{
|
|
//case 3875
|
|
System.Net.ServicePointManager.SecurityProtocol = (System.Net.SecurityProtocolType)3072;
|
|
|
|
this.Text = this.Text + " (v" +util.RELEASE_VERSION_STRING+")";
|
|
#if (DEBUG)
|
|
edServerUrl.Text = "http://192.168.1.253:7575";
|
|
edUserName.Text = "superuser";
|
|
edPassword.Text = "l3tm3in";
|
|
#endif
|
|
}
|
|
|
|
|
|
private bool ValidateAndCleanServerAddress()
|
|
{
|
|
var serverUrl = edServerUrl.Text;
|
|
Uri u;
|
|
try
|
|
{
|
|
u = new Uri(serverUrl);
|
|
var scheme = u.Scheme;
|
|
var host = u.Host;
|
|
var port = u.Port;
|
|
|
|
edServerUrl.Text = scheme + "://" + host + ":" + port + "/" + util.API_BASE_ROUTE;
|
|
|
|
//client url for notification default links, help links etc
|
|
if ((scheme == "https" && port == 443) || (scheme == "http" && port == 80))
|
|
util.GuessClientUrl = scheme + "://" + host + "/";
|
|
else
|
|
util.GuessClientUrl = scheme + "://" + host + ":" + port + "/";
|
|
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
MessageBox.Show("Server address not valid\n" + ex.Message);
|
|
return false;
|
|
}
|
|
|
|
//ok, it's some kind of url, now format it for api access
|
|
|
|
|
|
return true;
|
|
}
|
|
|
|
|
|
}
|
|
}
|