カスタム認証プロバイダーを Servicestack に登録するのに少し問題があります。以下を使用して、サービスの認証を構成しています。
Plugins.Add(new AuthFeature(() => new CustomUserSession(),
new IAuthProvider[] {
new VendorAuth(appSettings),
new FacilitiesAuth(appSettings)
}, null));
テストとして、最初の認証プロバイダーは常に成功するように設定されています。
public class VendorAuth : CredentialsAuthProvider
{
public VendorAuth(AppSettings appSettings) : base(appSettings) { }
public override object Authenticate(IServiceBase authService, IAuthSession session, Auth request)
{
return base.Authenticate(authService, session, request);
}
public override bool TryAuthenticate(IServiceBase authService, string userName, string password)
{
return true;
}
}
ここで、私の理解が少し崩れている可能性があります。しかし、クライアントでは、次の方法で「VendorAuth」プロバイダーにアクセスしようとしています:
public class VendorAuth : Auth
{
}
var AuthResponse = client.Post(new VendorAuth
{
provider = "credentials", // This may be an issue
UserName = "someuser",
Password = "somepass",
RememberMe = true
});
クライアントが認証を試みると、これは常に 405 を返すようです。
POST /json/syncreply/VendorAuth HTTP/1.1" 405
質問は... カスタム認証プロバイダーを正しく登録しているように見えますか?