Removed unused file. Fixed typo
This commit is contained in:
@@ -59,7 +59,7 @@ public class AuthController : Controller
|
|||||||
[HttpPost]
|
[HttpPost]
|
||||||
public async Task<OAuth2HandleResponse> Handle([FromBody] OAuth2HandleRequest request)
|
public async Task<OAuth2HandleResponse> Handle([FromBody] OAuth2HandleRequest request)
|
||||||
{
|
{
|
||||||
var accessData = await OAuth2Service.RequestAccess(request.Code);;
|
var accessData = await OAuth2Service.RequestAccess(request.Code);
|
||||||
|
|
||||||
// Find oauth2 provider
|
// Find oauth2 provider
|
||||||
var provider = OAuth2Providers.FirstOrDefault();
|
var provider = OAuth2Providers.FirstOrDefault();
|
||||||
|
|||||||
@@ -1,103 +0,0 @@
|
|||||||
@using Microsoft.AspNetCore.WebUtilities
|
|
||||||
|
|
||||||
@inject NavigationManager Navigation
|
|
||||||
|
|
||||||
@if (IsAuthenticated)
|
|
||||||
{
|
|
||||||
@AuthenticatedView
|
|
||||||
}
|
|
||||||
else if (IsCodeRequest)
|
|
||||||
{
|
|
||||||
@PostAuthView
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
if (IsAuthStateChecking)
|
|
||||||
{
|
|
||||||
if (Loader != null)
|
|
||||||
{
|
|
||||||
@Loader
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
@PreAuthView
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@code
|
|
||||||
{
|
|
||||||
[Parameter] public RenderFragment PreAuthView { get; set; }
|
|
||||||
[Parameter] public RenderFragment PostAuthView { get; set; }
|
|
||||||
[Parameter] public RenderFragment AuthenticatedView { get; set; }
|
|
||||||
[Parameter] public RenderFragment? Loader { get; set; }
|
|
||||||
|
|
||||||
[Parameter] public Func<Task<bool>> GetAuthState { get; set; }
|
|
||||||
[Parameter] public Func<Task<string>> GetLoginUrl { get; set; }
|
|
||||||
[Parameter] public Func<string, Task<bool>> HandleCode { get; set; }
|
|
||||||
|
|
||||||
private bool IsAuthStateChecking = true;
|
|
||||||
private bool IsCodeRequest = false;
|
|
||||||
private bool IsAuthenticated = false;
|
|
||||||
|
|
||||||
private string Code;
|
|
||||||
|
|
||||||
protected override async Task OnAfterRenderAsync(bool firstRender)
|
|
||||||
{
|
|
||||||
if (!firstRender)
|
|
||||||
return;
|
|
||||||
|
|
||||||
await Load();
|
|
||||||
}
|
|
||||||
|
|
||||||
private async Task Load()
|
|
||||||
{
|
|
||||||
IsAuthenticated = false;
|
|
||||||
IsAuthStateChecking = true;
|
|
||||||
|
|
||||||
IsCodeRequest = HandleQueryCode();
|
|
||||||
await InvokeAsync(StateHasChanged);
|
|
||||||
|
|
||||||
if (IsCodeRequest)
|
|
||||||
{
|
|
||||||
var codeCorrect = await HandleCode.Invoke(Code);
|
|
||||||
|
|
||||||
if (codeCorrect)
|
|
||||||
{
|
|
||||||
IsAuthenticated = true;
|
|
||||||
await InvokeAsync(StateHasChanged);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
IsAuthenticated = await GetAuthState.Invoke();
|
|
||||||
IsAuthStateChecking = false;
|
|
||||||
await InvokeAsync(StateHasChanged);
|
|
||||||
|
|
||||||
var url = await GetLoginUrl.Invoke();
|
|
||||||
Navigation.NavigateTo(url, true);
|
|
||||||
}
|
|
||||||
|
|
||||||
public async Task Reload()
|
|
||||||
=> await Load();
|
|
||||||
|
|
||||||
private bool HandleQueryCode()
|
|
||||||
{
|
|
||||||
var uri = new Uri(Navigation.Uri);
|
|
||||||
var query = QueryHelpers.ParseQuery(uri.Query);
|
|
||||||
|
|
||||||
if (!query.TryGetValue("code", out var codeValues))
|
|
||||||
return false;
|
|
||||||
|
|
||||||
if (codeValues.Count == 0)
|
|
||||||
return false;
|
|
||||||
|
|
||||||
var code = codeValues.First();
|
|
||||||
|
|
||||||
if (string.IsNullOrEmpty(code))
|
|
||||||
return false;
|
|
||||||
|
|
||||||
Code = code;
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Reference in New Issue
Block a user