hn-20-2/Apps/Client/Pages/Login.razor
2021-04-29 15:44:39 +02:00

44 lines
927 B
Plaintext

@page "/login"
@inject NavigationManager Navigation
@inject AuthenticationStateProvider Authentication
<Title Value="Login" />
<h1>Login</h1>
@if (_loginFailed)
{
<p>Could not log you in :'(</p>
}
<EditForm Model="_model" OnValidSubmit="TryLogin">
<DataAnnotationsValidator />
<ValidationSummary />
<label for="username">Username</label>
<InputText id="username" @bind-Value="_model.Username" />
<label for="password">Password</label>
<InputText id="password" type="password" @bind-Value="_model.Password" />
<button type="submit">Log me in!</button>
</EditForm>
@code {
private LoginViewModel _model = new LoginViewModel();
private bool _loginFailed;
private async Task TryLogin()
{
_loginFailed = false;
try
{
await ((JwtAuthStateProvider)Authentication).TryLoginAsync(_model);
Navigation.NavigateTo("/");
}
catch
{
_loginFailed = true;
}
}
}