Implemented Login workflow
This commit is contained in:
27
SpotiParty.Web/Components/Pages/CallbackPage.razor
Normal file
27
SpotiParty.Web/Components/Pages/CallbackPage.razor
Normal file
@@ -0,0 +1,27 @@
|
||||
@page "/callback"
|
||||
@using SpotiParty.Web.Services
|
||||
@inject NavigationManager Navigator
|
||||
@inject AuthorizationHandler AuthHandler
|
||||
|
||||
@code {
|
||||
[Parameter, SupplyParameterFromQuery(Name = "error")]
|
||||
public string? Error { get; set; }
|
||||
|
||||
[Parameter, SupplyParameterFromQuery(Name = "code")]
|
||||
public string? Code { get; set; }
|
||||
|
||||
[Parameter, SupplyParameterFromQuery(Name = "state")]
|
||||
public string? State { get; set; }
|
||||
|
||||
protected override async Task OnInitializedAsync() {
|
||||
await base.OnInitializedAsync();
|
||||
|
||||
if (string.IsNullOrWhiteSpace(Code)) {
|
||||
Navigator.NavigateTo("/login", forceLoad: true);
|
||||
return;
|
||||
}
|
||||
|
||||
await AuthHandler.HandleCallback(Code);
|
||||
Navigator.NavigateTo("/enqueue", forceLoad: true);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user