
Angular was added to organize the FE of the UI application better. In doing so I have rebuilt the build scripts, added a routing mechanism for the Go server to route and serve the compiled TS pages from Angular. Change-Id: I7ae2cacfd90372fa536b1639e5b54a8da786e2cd
86 lines
2.9 KiB
HTML
86 lines
2.9 KiB
HTML
<!doctype html>
|
|
<html>
|
|
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<title>AirshipUI Test {{.Title}}</title>
|
|
<link rel="icon" href="data:;base64,=">
|
|
</head>
|
|
<script>
|
|
function testIt() {
|
|
document.getElementById("AuthBtn").disabled = true;
|
|
console.log(window.location.pathname);
|
|
let xhr = new XMLHttpRequest();
|
|
xhr.open("POST", window.location.pathname);
|
|
xhr.setRequestHeader("Content-Type", "application/json;charset=UTF-8");
|
|
xhr.onload = function () {
|
|
if (this.status === 201) {
|
|
document.cookie = "airshipUI=" + xhr.response + "expires=" + new Date().getUTCDate;
|
|
console.log(JSON.parse(xhr.response));
|
|
} else {
|
|
console.log({
|
|
status: this.status,
|
|
statusText: xhr.statusText
|
|
});
|
|
document.getElementById("OutputDiv").innerHTML = '<span style="color:red"><h2>☠ ID or Password is incorrect please try again ☠</h2></span>';
|
|
document.getElementById("AuthBtn").disabled = false;
|
|
}
|
|
};
|
|
xhr.onerror = function () {
|
|
reject({
|
|
status: this.status,
|
|
statusText: xhr.statusText
|
|
});
|
|
};
|
|
|
|
let json = JSON.stringify({"id": document.getElementById("ID").value, "password": document.getElementById("Passwd").value});
|
|
console.log(json)
|
|
xhr.send(json);
|
|
}
|
|
</script>
|
|
|
|
<body>
|
|
<h1>Airship UI Test {{.Title}}</h1>
|
|
<table>
|
|
<tr>
|
|
<td>
|
|
<b>Id:</b>
|
|
</td>
|
|
<td>
|
|
<input type="text" id="ID">
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<b>Password:</b>
|
|
</td>
|
|
<td>
|
|
<input type="password" id="Passwd">
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td colspan="2">
|
|
<button id="AuthBtn" onclick="testIt()">Test It!</button>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
<div id="OutputDiv"></div>
|
|
<h2>⚠ Warning! ⚠</h2>
|
|
<p>This is a {{.Title}} test page is only intended as an example for how to use {{.Title}} with AirshipUI.</p>
|
|
<p>The System will return the following HTML status codes and responses</p>
|
|
<ul>
|
|
{{if eq .Title "Basic Auth"}}
|
|
<li>201: Created. The password attempt was successful and the backend has sent an xauth token header to AirshipUI.</li>
|
|
{{else if eq .Title "Cookie"}}
|
|
<li>201: Created. The password attempt was successful and the backend has set a cookie and sent the cookie contents to AirshipUI.</li>
|
|
{{else if eq .Title "OAuth"}}
|
|
<li>201: Created. The password attempt was successful and the backend has set a JWT (JSON Web Token) and sent the JWT contents to AirshipUI.</li>
|
|
{{end}}
|
|
<li>400: Bad request. There was an error sending the system the authentication request, most likely bad JSON.</li>
|
|
<li>401: Unauthorized. Bad id / password attempt.</li>
|
|
<li>403: Forbidden. The id / password combination was correct but the id is not allowed for the resource.</li>
|
|
<li>500: Internal Server Error. There was a processing error on the back end.</li>
|
|
</ul>
|
|
</body>
|
|
|
|
</html> |