Я пытаюсь получить доступ к своему пользовательскому AuthProvider (который унаследован от BasicAuthProvider) из ServerEventsClient. Provider код очень прост ATMИспользовать специальную сервисную программу AuthProvider
public class RoomsAuthProvider : BasicAuthProvider
{
public RoomsAuthProvider(AppSettings appSettings) : base(appSettings)
{
}
public RoomsAuthProvider()
{
}
public override bool TryAuthenticate(IServiceBase authService,
string userName, string password)
{
return true;
}
public override IHttpResult OnAuthenticated(IServiceBase authService,
IAuthSession session, IAuthTokens tokens,
Dictionary<string, string> authInfo)
{
session.FirstName = "some_firstname_from_db";
return base.OnAuthenticated(authService, session, tokens, authInfo);
}
}
Я зарегистрировав его как обычно:
public override void Configure(Funq.Container container)
{
container.Register<ICacheClient>(new MemoryCacheClient());
Plugins.Add(new AuthFeature(() => new AuthUserSession(),
new IAuthProvider[]
{
new RoomsAuthProvider()
}));
Plugins.Add(new ServerEventsFeature());
}
и мой клиент:
var client = new ServerEventsClient("http://localhost:1337/", "home")
пытается аутентифицировать:
var authResponse = client.Authenticate(new Authenticate
{
provider = "RoomsAuthProvider",
UserName = "[email protected]",
Password = "[email protected]",
RememberMe = true,
});
I всегда получают ошибку NotFound и rror, заявляющую, что для этого AuthProvider не настроена настройка. Настройка имени и области в провайдере не помогло. Есть ли другой поток аутентификации для этого типа клиента, или я чего-то не хватает? Любые идеи приветствуются
Я изменил базовый класс CredentialsAuthProvider, перекрываться именем общественного нового статической строки Name = «RoomsAuth»; но это не сработало – HardLuck
UPD: смена имени поставщика для учетных данных – HardLuck
@HardLuck, потому что статическое свойство Name ничего не делает само по себе, вам нужно вместо этого изменить свойство экземпляра 'Provider', но я ' d оставьте его как есть, так как он все еще представляет собой autw-провайдер учетных данных. – mythz