Код: Выделить всё
@using Microsoft.AspNetCore.Authentication
@using Microsoft.AspNetCore.Http.Extensions
@using Microsoft.AspNetCore.Http.HttpResults
@using Microsoft.AspNetCore.Identity
@using Microsoft.Extensions.Primitives
@using UPSVaR_Checker_web.Components.Account.Pages
@using UPSVaR_Checker_web.Data
@rendermode InteractiveServer
@inject SignInManager[url=https://go.microsoft.com/fwlink/?LinkID=532715]article
about setting up this ASP.NET application to support logging in via external services[/url].
}
else
{
@foreach (var provider in externalLogins)
{
@provider.DisplayName
}
@foreach (var provider in externalLogins)
{
@provider.DisplayName
}
}
@code {
private AuthenticationScheme[] externalLogins = [];
[SupplyParameterFromQuery]
private string? ReturnUrl { get; set; }
protected override async Task OnInitializedAsync()
{
externalLogins = (await SignInManager.GetExternalAuthenticationSchemesAsync()).ToArray();
}
protected async Task LoginWithExternalProvider(AuthenticationScheme provider)
{
//This implementation is wrong, I am not even using the scheme passed from the button. The issue is I don't know what to put here
var externalInfo = await SignInManager.GetExternalLoginInfoAsync();
await SignInManager.ExternalLoginSignInAsync(externalInfo.LoginProvider, externalInfo.ProviderKey, true, true);
}
}
< /code>
Я пытаюсь использовать компоненты Mudblazor для перепроектирования страницы. Я также установил @rendermode InteractiveServer
Код: Выделить всё
...
var accountGroup = endpoints.MapGroup("/Account");
accountGroup.MapPost("/PerformExternalLogin", (
HttpContext context,
[FromServices] SignInManager signInManager,
[FromForm] string provider,
[FromForm] string returnUrl) =>
{
IEnumerable query = [
new("ReturnUrl", returnUrl),
new("Action", ExternalLogin.LoginCallbackAction)];
var redirectUrl = UriHelper.BuildRelative(
context.Request.PathBase,
"/Account/ExternalLogin",
QueryString.Create(query));
var properties = signInManager.ConfigureExternalAuthenticationProperties(provider, redirectUrl);
return TypedResults.Challenge(properties, [provider]);
});
...
Подробнее здесь: https://stackoverflow.com/questions/796 ... h-mudblazo