37 lines
964 B
Plaintext
37 lines
964 B
Plaintext
@page "/citizen/authorized"
|
|
@inject HttpClient http
|
|
@inject NavigationManager nav
|
|
@inject AppState state
|
|
|
|
<p>@message</p>
|
|
|
|
@code {
|
|
string message = "Logging you on with No Agenda Social...";
|
|
|
|
protected override async Task OnInitializedAsync()
|
|
{
|
|
// Exchange authorization code for a JWT
|
|
var query = QueryHelpers.ParseQuery(nav.ToAbsoluteUri(nav.Uri).Query);
|
|
if (query.TryGetValue("code", out var authCode))
|
|
{
|
|
var logOnResult = await ServerApi.LogOn(http, authCode);
|
|
|
|
if (logOnResult.IsOk)
|
|
{
|
|
var logOn = logOnResult.Ok;
|
|
state.User = new UserInfo(logOn.CitizenId, logOn.Name);
|
|
state.Jwt = logOn.Jwt;
|
|
nav.NavigateTo("/citizen/dashboard");
|
|
}
|
|
else
|
|
{
|
|
message = logOnResult.Error;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
message = "Did not receive a token from No Agenda Social (perhaps you clicked \"Cancel\"?)";
|
|
}
|
|
}
|
|
}
|