Wir bewerten Service Stack v.4.5.6.0 für eine Web-API und möchten, dass Clients sich mit grundlegenden Authentifizierungs- oder Berechtigungsnachweisen authentifizieren können. Wir möchten jedoch nicht, dass sie einen Basis-Auth-Header anstelle von a bereitstellen können JWT-Token oder Session-Cookie bei Nutzung unserer Dienste. Während ich weiß, dass dies etwas willkürlich ist, gibt es eine Möglichkeit, Routen von bestimmten Anbietern auszuschließen oder die Verwendung eines Token/Cookie zu authentifizieren, nachdem sie sich eingeloggt haben?Ist es möglich, Authentifizierungsanbieter für bestimmte Routen zu deaktivieren?
Auth config AppHost:
private void ConfigureAuth(Container container)
{
var appSettings = new AppSettings();
this.Plugins.Add(new AuthFeature(() => new CustomAuthUserSession(),
new IAuthProvider[]
{
new CredentialsAuthProvider(),
new BasicAuthProvider(),
new JwtAuthProvider(appSettings)
}) { IncludeAssignRoleServices = false, MaxLoginAttempts = 10});
var userRepository = new CustomUserAuthRepository(container.TryResolve<IDbConnectionFactory>());
container.Register<IAuthRepository>(userRepository);
}
FYI sehen aktualisierte Antwort auf neue 'session.AuthProvider' Eigenschaft, die enthält, welcher AuthProvider verwendet wurde, um den Benutzer zu authentifizieren. – mythz
Danke! Der FromTokenCookie funktioniert gut für das, was ich brauchte. – liz