Added verification on clock side

This commit is contained in:
BOT Alex 2023-08-23 10:53:48 +02:00
parent 1df4d64edf
commit 7b96ee5670
42 changed files with 93 additions and 33 deletions

Binary file not shown.

View File

@ -197,13 +197,13 @@
"mscorlib.dll": "sha256-ZQiPq7CHB7vwsbgiGeI63xqAYmfnZVwKnCDxwIIfh68=", "mscorlib.dll": "sha256-ZQiPq7CHB7vwsbgiGeI63xqAYmfnZVwKnCDxwIIfh68=",
"netstandard.dll": "sha256-OUZMjYvE6WNC75Ypitp3ukl0+FlDbSW+OYEIsU7XlgQ=", "netstandard.dll": "sha256-OUZMjYvE6WNC75Ypitp3ukl0+FlDbSW+OYEIsU7XlgQ=",
"System.Private.CoreLib.dll": "sha256-uJANsJB4HA9iyaKf1ryCSbtypfL2uQZWxXKIn0Fz5+c=", "System.Private.CoreLib.dll": "sha256-uJANsJB4HA9iyaKf1ryCSbtypfL2uQZWxXKIn0Fz5+c=",
"Authenticator.dll": "sha256-HgkF587ivkii1JAKZ9pD9iOZp6dsn6mwt69pbBUTJ30=" "Authenticator.dll": "sha256-r7d0fWLyghwoyih4qcgDuY2yPsJ93fG5Znu0xOH5Ots="
}, },
"extensions": null, "extensions": null,
"lazyAssembly": null, "lazyAssembly": null,
"libraryInitializers": null, "libraryInitializers": null,
"pdb": { "pdb": {
"Authenticator.pdb": "sha256-wgmktoDHI6KOueaOLMLQI95N\/xumyttT+2m7mdXd850=" "Authenticator.pdb": "sha256-SyZNML1LrKYUybm5xbJr8VSZX4vZNT\/BBDcn1ZtpK48="
}, },
"runtime": { "runtime": {
"dotnet.6.0.21.49na9txwsb.js": "sha256-0OV6gibFzyVtG7NXEj8a6vG3u8Cbzv4l9kkEathZjQ8=", "dotnet.6.0.21.49na9txwsb.js": "sha256-0OV6gibFzyVtG7NXEj8a6vG3u8Cbzv4l9kkEathZjQ8=",

View File

@ -809,11 +809,11 @@
"url": "_framework\/icudt_no_CJK.dat" "url": "_framework\/icudt_no_CJK.dat"
}, },
{ {
"hash": "sha256-ak6RoVMgOBqvz0fAQLAx1APkPNvkqx+s5WX5gYzFEiU=", "hash": "sha256-fSm+brDZanxOA0JtaFRuHbJwri2Ct7X+vDM0+WZfPHM=",
"url": "_framework\/Authenticator.dll" "url": "_framework\/Authenticator.dll"
}, },
{ {
"hash": "sha256-qeEVLk4Mnyv6IJb1ByRTdXCS+OoB2UlL21FmI2crZHw=", "hash": "sha256-rrIGrQkkt34ho2yyUQpNMTFwupeFsguY5qPQUvup7ss=",
"url": "_framework\/Authenticator.pdb" "url": "_framework\/Authenticator.pdb"
}, },
{ {
@ -821,7 +821,7 @@
"url": "_framework\/blazor.webassembly.js" "url": "_framework\/blazor.webassembly.js"
}, },
{ {
"hash": "sha256-PP9AvSeOqUdkPgqUNK46HU83+SDyYDUgUvx0Ya+9ARU=", "hash": "sha256-glR48yxTOF8iHHdkVHv6IyJknpkmaCLS4I553TdLZ+Y=",
"url": "_framework\/blazor.boot.json" "url": "_framework\/blazor.boot.json"
}, },
{ {
@ -833,5 +833,5 @@
"url": "_content\/MudBlazor\/MudBlazor.min.js" "url": "_content\/MudBlazor\/MudBlazor.min.js"
} }
], ],
"version": "ijzYJC8z" "version": "tu9JW7d9"
}; };

View File

@ -2,4 +2,4 @@
// This is because caching would make development more difficult (changes would not // This is because caching would make development more difficult (changes would not
// be reflected on the first load after each change). // be reflected on the first load after each change).
self.addEventListener('fetch', () => { }); self.addEventListener('fetch', () => { });
/* Manifest version: ijzYJC8z */ /* Manifest version: tu9JW7d9 */

View File

@ -197,13 +197,13 @@
"mscorlib.dll": "sha256-ZQiPq7CHB7vwsbgiGeI63xqAYmfnZVwKnCDxwIIfh68=", "mscorlib.dll": "sha256-ZQiPq7CHB7vwsbgiGeI63xqAYmfnZVwKnCDxwIIfh68=",
"netstandard.dll": "sha256-OUZMjYvE6WNC75Ypitp3ukl0+FlDbSW+OYEIsU7XlgQ=", "netstandard.dll": "sha256-OUZMjYvE6WNC75Ypitp3ukl0+FlDbSW+OYEIsU7XlgQ=",
"System.Private.CoreLib.dll": "sha256-uJANsJB4HA9iyaKf1ryCSbtypfL2uQZWxXKIn0Fz5+c=", "System.Private.CoreLib.dll": "sha256-uJANsJB4HA9iyaKf1ryCSbtypfL2uQZWxXKIn0Fz5+c=",
"Authenticator.dll": "sha256-HgkF587ivkii1JAKZ9pD9iOZp6dsn6mwt69pbBUTJ30=" "Authenticator.dll": "sha256-r7d0fWLyghwoyih4qcgDuY2yPsJ93fG5Znu0xOH5Ots="
}, },
"extensions": null, "extensions": null,
"lazyAssembly": null, "lazyAssembly": null,
"libraryInitializers": null, "libraryInitializers": null,
"pdb": { "pdb": {
"Authenticator.pdb": "sha256-wgmktoDHI6KOueaOLMLQI95N\/xumyttT+2m7mdXd850=" "Authenticator.pdb": "sha256-SyZNML1LrKYUybm5xbJr8VSZX4vZNT\/BBDcn1ZtpK48="
}, },
"runtime": { "runtime": {
"dotnet.6.0.21.49na9txwsb.js": "sha256-0OV6gibFzyVtG7NXEj8a6vG3u8Cbzv4l9kkEathZjQ8=", "dotnet.6.0.21.49na9txwsb.js": "sha256-0OV6gibFzyVtG7NXEj8a6vG3u8Cbzv4l9kkEathZjQ8=",

View File

@ -809,11 +809,11 @@
"url": "_framework\/icudt_no_CJK.dat" "url": "_framework\/icudt_no_CJK.dat"
}, },
{ {
"hash": "sha256-ak6RoVMgOBqvz0fAQLAx1APkPNvkqx+s5WX5gYzFEiU=", "hash": "sha256-fSm+brDZanxOA0JtaFRuHbJwri2Ct7X+vDM0+WZfPHM=",
"url": "_framework\/Authenticator.dll" "url": "_framework\/Authenticator.dll"
}, },
{ {
"hash": "sha256-qeEVLk4Mnyv6IJb1ByRTdXCS+OoB2UlL21FmI2crZHw=", "hash": "sha256-rrIGrQkkt34ho2yyUQpNMTFwupeFsguY5qPQUvup7ss=",
"url": "_framework\/Authenticator.pdb" "url": "_framework\/Authenticator.pdb"
}, },
{ {
@ -821,7 +821,7 @@
"url": "_framework\/blazor.webassembly.js" "url": "_framework\/blazor.webassembly.js"
}, },
{ {
"hash": "sha256-PP9AvSeOqUdkPgqUNK46HU83+SDyYDUgUvx0Ya+9ARU=", "hash": "sha256-glR48yxTOF8iHHdkVHv6IyJknpkmaCLS4I553TdLZ+Y=",
"url": "_framework\/blazor.boot.json" "url": "_framework\/blazor.boot.json"
}, },
{ {
@ -833,5 +833,5 @@
"url": "_content\/MudBlazor\/MudBlazor.min.js" "url": "_content\/MudBlazor\/MudBlazor.min.js"
} }
], ],
"version": "ijzYJC8z" "version": "tu9JW7d9"
}; };

View File

@ -2,4 +2,4 @@
// This is because caching would make development more difficult (changes would not // This is because caching would make development more difficult (changes would not
// be reflected on the first load after each change). // be reflected on the first load after each change).
self.addEventListener('fetch', () => { }); self.addEventListener('fetch', () => { });
/* Manifest version: ijzYJC8z */ /* Manifest version: tu9JW7d9 */

View File

@ -1,7 +1,68 @@
@page "/" @page "/"
@using System.Text;
@inject ISnackbar snackbar
@inject NavigationManager navigator
<PageTitle>Index</PageTitle> <PageTitle>Authentication</PageTitle>
<MudText Typo="Typo.h3" GutterBottom="true">Hello, world!</MudText> <MudForm @ref="form" @bind-IsValid="@success">
<MudText Class="mb-8">Welcome to your new app, powered by MudBlazor!</MudText> <MudTextField @ref="pwField1" T="string" Label="AuthCode" Required="true" Validation="@(new Func<string, string>(PasswordMatch))" RequiredError="AuthCode is required!" />
<MudAlert Severity="Severity.Normal">You can find documentation and examples on our website here: <MudLink Href="https://mudblazor.com" Typo="Typo.body2" Color="Color.Inherit"><b>www.mudblazor.com</b></MudLink></MudAlert> </MudForm>
<MudButton Variant="Variant.Filled" Color="Color.Primary" DisableElevation="true" OnClick="Validate">Validate</MudButton>
@code {
string authCode = "";
bool success = false;
MudForm form;
MudTextField<string> pwField1;
protected override async Task OnInitializedAsync()
{
GetCode();
}
private string PasswordMatch(string input)
{
if (pwField1.Value != authCode)
return "AuthCode not correct";
return null;
}
async void Validate()
{
await form.Validate();
if (!success) return;
snackbar.Add("Success!", Severity.Success);
await Task.Delay(3000);
navigator.NavigateTo("/Clock");
}
public string GetCode()
{
var time = DateTime.Now;
Random random = new Random(time.Hour);
var sb = new StringBuilder();
for (int i = 0; i < 100; i++)
{
string salt = (i + random.NextDouble()).ToString();
sb.AppendLine(salt);
}
string semicode = Base64Encode(time.ToString("HH") + sb.ToString());
semicode = semicode.Trim('=');
authCode = semicode;
return semicode;
}
public static string Base64Encode(string plainText)
{
var plainTextBytes = System.Text.Encoding.UTF8.GetBytes(plainText);
return System.Convert.ToBase64String(plainTextBytes);
}
}

View File

@ -11,7 +11,6 @@
"Mudblazor.Template": { "Mudblazor.Template": {
"commandName": "Project", "commandName": "Project",
"launchBrowser": true, "launchBrowser": true,
"launchUrl": "https://localhost:5001/Clock",
"environmentVariables": { "environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development" "ASPNETCORE_ENVIRONMENT": "Development"
}, },

Binary file not shown.

Binary file not shown.

View File

@ -198,13 +198,13 @@
"mscorlib.dll": "sha256-ZQiPq7CHB7vwsbgiGeI63xqAYmfnZVwKnCDxwIIfh68=", "mscorlib.dll": "sha256-ZQiPq7CHB7vwsbgiGeI63xqAYmfnZVwKnCDxwIIfh68=",
"netstandard.dll": "sha256-OUZMjYvE6WNC75Ypitp3ukl0+FlDbSW+OYEIsU7XlgQ=", "netstandard.dll": "sha256-OUZMjYvE6WNC75Ypitp3ukl0+FlDbSW+OYEIsU7XlgQ=",
"System.Private.CoreLib.dll": "sha256-uJANsJB4HA9iyaKf1ryCSbtypfL2uQZWxXKIn0Fz5+c=", "System.Private.CoreLib.dll": "sha256-uJANsJB4HA9iyaKf1ryCSbtypfL2uQZWxXKIn0Fz5+c=",
"QUR.dll": "sha256-OXP\/zeV+upwRfebG2yvwMnp2Njra4XMTBAyKHTORrLc=" "QUR.dll": "sha256-Pxn8L5fbl1gI1Sv3Ory3wza5wGV5yUZpatB+zbnp+Kw="
}, },
"extensions": null, "extensions": null,
"lazyAssembly": null, "lazyAssembly": null,
"libraryInitializers": null, "libraryInitializers": null,
"pdb": { "pdb": {
"QUR.pdb": "sha256-+tmyLU4mNCUc+no40A9fxbLM30vvQk8vw4Ka9\/eHzLA=" "QUR.pdb": "sha256-ee391gtX3eUWYcfZbUoxBdGcG2XXwW5baylxg+bpyJo="
}, },
"runtime": { "runtime": {
"dotnet.6.0.21.49na9txwsb.js": "sha256-0OV6gibFzyVtG7NXEj8a6vG3u8Cbzv4l9kkEathZjQ8=", "dotnet.6.0.21.49na9txwsb.js": "sha256-0OV6gibFzyVtG7NXEj8a6vG3u8Cbzv4l9kkEathZjQ8=",

View File

@ -821,11 +821,11 @@
"url": "_framework\/icudt_no_CJK.dat" "url": "_framework\/icudt_no_CJK.dat"
}, },
{ {
"hash": "sha256-N1KCccGRMSBt+zFb9r\/hFit82badxEDZFxCUlxqYEIE=", "hash": "sha256-dsR1lC7g1W6ritKpOzSk0rNRIuJi73RcH7sCTeABYsw=",
"url": "_framework\/QUR.dll" "url": "_framework\/QUR.dll"
}, },
{ {
"hash": "sha256-ljSNxu9TlSxBfT5p\/FQNXPIYBCTFaTOVZfpn+mAOFCE=", "hash": "sha256-ISHg\/r6FCT0B0PRzJK2x0PhJ38nXaN1pMqohuH1U3D4=",
"url": "_framework\/QUR.pdb" "url": "_framework\/QUR.pdb"
}, },
{ {
@ -833,7 +833,7 @@
"url": "_framework\/blazor.webassembly.js" "url": "_framework\/blazor.webassembly.js"
}, },
{ {
"hash": "sha256-PnnvCJhZU9H2EKY6XrVg0ZvtJcc1AZAHAN8eJR9qRRQ=", "hash": "sha256-K4GlZljUX9wp9ZBuh5cX\/JhP\/1+5NXmEgjK97FFFv0s=",
"url": "_framework\/blazor.boot.json" "url": "_framework\/blazor.boot.json"
}, },
{ {
@ -845,5 +845,5 @@
"url": "_content\/MudBlazor\/MudBlazor.min.js" "url": "_content\/MudBlazor\/MudBlazor.min.js"
} }
], ],
"version": "tpm+quQ4" "version": "yFzJ54jy"
}; };

View File

@ -2,4 +2,4 @@
// This is because caching would make development more difficult (changes would not // This is because caching would make development more difficult (changes would not
// be reflected on the first load after each change). // be reflected on the first load after each change).
self.addEventListener('fetch', () => { }); self.addEventListener('fetch', () => { });
/* Manifest version: tpm+quQ4 */ /* Manifest version: yFzJ54jy */

Binary file not shown.

Binary file not shown.

View File

@ -198,13 +198,13 @@
"mscorlib.dll": "sha256-ZQiPq7CHB7vwsbgiGeI63xqAYmfnZVwKnCDxwIIfh68=", "mscorlib.dll": "sha256-ZQiPq7CHB7vwsbgiGeI63xqAYmfnZVwKnCDxwIIfh68=",
"netstandard.dll": "sha256-OUZMjYvE6WNC75Ypitp3ukl0+FlDbSW+OYEIsU7XlgQ=", "netstandard.dll": "sha256-OUZMjYvE6WNC75Ypitp3ukl0+FlDbSW+OYEIsU7XlgQ=",
"System.Private.CoreLib.dll": "sha256-uJANsJB4HA9iyaKf1ryCSbtypfL2uQZWxXKIn0Fz5+c=", "System.Private.CoreLib.dll": "sha256-uJANsJB4HA9iyaKf1ryCSbtypfL2uQZWxXKIn0Fz5+c=",
"QUR.dll": "sha256-OXP\/zeV+upwRfebG2yvwMnp2Njra4XMTBAyKHTORrLc=" "QUR.dll": "sha256-Pxn8L5fbl1gI1Sv3Ory3wza5wGV5yUZpatB+zbnp+Kw="
}, },
"extensions": null, "extensions": null,
"lazyAssembly": null, "lazyAssembly": null,
"libraryInitializers": null, "libraryInitializers": null,
"pdb": { "pdb": {
"QUR.pdb": "sha256-+tmyLU4mNCUc+no40A9fxbLM30vvQk8vw4Ka9\/eHzLA=" "QUR.pdb": "sha256-ee391gtX3eUWYcfZbUoxBdGcG2XXwW5baylxg+bpyJo="
}, },
"runtime": { "runtime": {
"dotnet.6.0.21.49na9txwsb.js": "sha256-0OV6gibFzyVtG7NXEj8a6vG3u8Cbzv4l9kkEathZjQ8=", "dotnet.6.0.21.49na9txwsb.js": "sha256-0OV6gibFzyVtG7NXEj8a6vG3u8Cbzv4l9kkEathZjQ8=",

Binary file not shown.

Binary file not shown.

View File

@ -821,11 +821,11 @@
"url": "_framework\/icudt_no_CJK.dat" "url": "_framework\/icudt_no_CJK.dat"
}, },
{ {
"hash": "sha256-N1KCccGRMSBt+zFb9r\/hFit82badxEDZFxCUlxqYEIE=", "hash": "sha256-dsR1lC7g1W6ritKpOzSk0rNRIuJi73RcH7sCTeABYsw=",
"url": "_framework\/QUR.dll" "url": "_framework\/QUR.dll"
}, },
{ {
"hash": "sha256-ljSNxu9TlSxBfT5p\/FQNXPIYBCTFaTOVZfpn+mAOFCE=", "hash": "sha256-ISHg\/r6FCT0B0PRzJK2x0PhJ38nXaN1pMqohuH1U3D4=",
"url": "_framework\/QUR.pdb" "url": "_framework\/QUR.pdb"
}, },
{ {
@ -833,7 +833,7 @@
"url": "_framework\/blazor.webassembly.js" "url": "_framework\/blazor.webassembly.js"
}, },
{ {
"hash": "sha256-PnnvCJhZU9H2EKY6XrVg0ZvtJcc1AZAHAN8eJR9qRRQ=", "hash": "sha256-K4GlZljUX9wp9ZBuh5cX\/JhP\/1+5NXmEgjK97FFFv0s=",
"url": "_framework\/blazor.boot.json" "url": "_framework\/blazor.boot.json"
}, },
{ {
@ -845,5 +845,5 @@
"url": "_content\/MudBlazor\/MudBlazor.min.js" "url": "_content\/MudBlazor\/MudBlazor.min.js"
} }
], ],
"version": "tpm+quQ4" "version": "yFzJ54jy"
}; };

View File

@ -2,4 +2,4 @@
// This is because caching would make development more difficult (changes would not // This is because caching would make development more difficult (changes would not
// be reflected on the first load after each change). // be reflected on the first load after each change).
self.addEventListener('fetch', () => { }); self.addEventListener('fetch', () => { });
/* Manifest version: tpm+quQ4 */ /* Manifest version: yFzJ54jy */