Кто-нибудь знает, как получить удаленный IP-адрес при реализации IResourceOwnerPasswordValidator IdentityServer4 с использованием C#?Получить IP-адрес при реализации IResourceOwnerPasswordValidator
***** Редактировать
Благодаря leastprivilege, который поставил меня на правильном пути я теперь получил следующее:
Моих UserValidationService [IResourceOwnerPasswordValidator] Класс имеет:
public UserValidationService(ISecurity SecurityRepo, IHttpContextAccessor HttpContext)
{
_securityRepo = SecurityRepo;
_httpContext = HttpContext;
}
и мой класс setup.cs имеет:
var identityServer = services.AddIdentityServer()
.AddSigningCredential(key)
.AddInMemoryPersistedGrants() .AddInMemoryIdentityResources(Config.GetIdentityResources()) .AddInMemoryApiResources(Config.GetApiResources())
.AddInMemoryClients(Config.GetClients());
identityServer.Services.AddSingleton<IHttpContextAccessor, HttpContextAccessor>();
identityServer.Services.AddTransient<IProfileService, ProfileService>();
identityServer.Services.AddTransient<IResourceOwnerPasswordValidator>(x => new UserValidationService(bllFactory.GetInstance<ISecurity>()));
Я получаю ERR или
Там не аргумент, учитывая, что соответствует требуемому формальному параметру «HttpContext» из 'UserValidationService.UserValidationService (ISecurity, IHttpContextAccessor)
Я понимаю, сообщение об ошибке, но примеры я вы видели онлайн, не отправляйте вручную в IHttpContextAccessor.
Благодаря
Давида