Мне нужно иметь возможность аутентифицировать / зарегистрировать пользователя с помощью веб-входа с использованием настраиваемого поставщика.
Я попытался добавить настраиваемый поставщик проверки подлинности, используя ссылку ниже.
Внешняя аутентификация
Я создал AlwaysTrueExternalAuthSource.cs и добавил его в мой основной проект.
namespace Project.Authorization.AlwaysTrue
{
public class AlwaysTrueExternalAuthSource : DefaultExternalAuthenticationSource<Tenant, User>, ITransientDependency
{
public override string Name => "AlwaysTrueExternalAuthSource";
public override Task<bool> TryAuthenticateAsync(string userNameOrEmailAddress, string plainPassword, Tenant tenant)
{
return Task.FromResult(true);
}
}
}
Затем следующая строка в основном модуле PreInitialize
Configuration.Modules.Zero().UserManagement.ExternalAuthenticationSources.Add<AlwaysTrueExternalAuthSource>();
Тогда документация становится немного расплывчатой. Я заметил, что представление реестра содержит следующее.
<input type="hidden" id="IsExternalLogin" name="IsExternalLogin" value="@Model.IsExternalLogin.ToString()" />
<input type="hidden" id="ExternalLoginAuthSchema" name="ExternalLoginAuthSchema" value="@Model.ExternalLoginAuthSchema" />*@
Я предполагал, что их установка вручную включит новый источник аутентификации
<input type="hidden" id="IsExternalLogin" name="IsExternalLogin" value="@true" />
<input type="hidden" id="ExternalLoginAuthSchema" name="ExternalLoginAuthSchema" value="AlwaysTrueExternalAuthSource" />
Однако это не удалось с ошибкой:
Abp.Runtime.Validation.AbpValidationException: Method arguments are not valid! See ValidationErrors for details.
at Abp.Runtime.Validation.Interception.MethodInvocationValidator.ThrowValidationError() in D:\Github\aspnetboilerplate\src\Abp\Runtime\Validation\Interception\MethodInvocationValidator.cs:line 118
Может кто-нибудь помочь объяснить, где я здесь не так, пожалуйста.
Я должен объяснить, что провайдер предоставил мне набор API, которые я могу запросить с помощью почтового запроса. Таким образом, конечной целью является переопределение методов регистрации и входа в систему для аутентификации через эту стороннюю службу.