Benutzer mit den meisten Antworten
Azure appFabric Service Bus: SecurityTokenException wird nicht an Client weitergeleitet

Frage
-
Hallo
In einem Service den ich auf dem Windows Azure appFabric Service Bus registriere, verwende ich für die Authentifizierung einen CustomUsernamePasswordValidator. Die Authentifizeriung funktioniert einwandfrei. Nur wenn der Client einen falschen Benutzernamen oder ein falsches Passwort sendet, der CustomUsernamePassword Validator eine SecurityTokenException (habs auch schon mit SecurityTokenValidationException und einer FaultException ausprobiert) wirft, kommt diese nie beim Client an. Als Binding verwende ich BasicHttpRelayBinding.
Ist das ein Bug, oder weiss jemand wo der Hund gegraben liegt?
static void ConfigureForAppFabricSecure(ServiceHost host) { if (host == null) return; var sharedSecretServiceBusCredential = new Microsoft.ServiceBus.TransportClientEndpointBehavior(); sharedSecretServiceBusCredential.CredentialType = Microsoft.ServiceBus.TransportClientCredentialType.SharedSecret; sharedSecretServiceBusCredential.Credentials.SharedSecret.IssuerName = "..."; sharedSecretServiceBusCredential.Credentials.SharedSecret.IssuerSecret = "..."; // This works with custom username/password validation var binding = new Microsoft.ServiceBus.BasicHttpRelayBinding(); binding.Security.Mode = EndToEndBasicHttpSecurityMode.TransportWithMessageCredential; binding.Security.RelayClientAuthenticationType = RelayClientAuthenticationType.None; binding.Security.Transport.ProxyCredentialType = HttpProxyCredentialType.Digest; var address = ServiceBusEnvironment.CreateServiceUri("https", "...myservicens....", "svc..."); var contract = typeof(IEchoService); var cloudEP = host.AddServiceEndpoint( contract, binding, address); cloudEP.Behaviors.Add(sharedSecretServiceBusCredential); }
- Bearbeitet mguma Dienstag, 24. August 2010 08:18
Antworten
-
Scheint ein Bug zu sein und wurde ans Produkt-Team weitergeleitet.
Hier der Eintrag aus dem englisch-sprachigen Forum:
- Als Antwort markiert mguma Mittwoch, 25. August 2010 06:24
Alle Antworten
-
Um das Problem nachvollziehen zu können, habe ich unter folgendem Link eine Demo-Applikation bereitgestellt:
Für das Ausführen der Applikation (Host und Client) wird natürlich ein Windows Azure Account benötigt. In der SharedInfo müssen noch IssuerName, IssuerSecret und ServiceNamespace eingegeben werden.
namespace EchoDemo.Common { public class SharedInfo { public static string IssuerName = "[Type in issuer name]"; public static string IssuerSecret = "[Type in issuer secret]"; public static string ServiceNamespace = "[Type in service namespace]"; } }
-
Scheint ein Bug zu sein und wurde ans Produkt-Team weitergeleitet.
Hier der Eintrag aus dem englisch-sprachigen Forum:
- Als Antwort markiert mguma Mittwoch, 25. August 2010 06:24