public override SecurityTokenAuthenticator CreateSecurityTokenAuthenticator ( SecurityTokenRequirement requirement, out SecurityTokenResolver outOfBandTokenResolver) { outOfBandTokenResolver = null; if (requirement.TokenType == SecurityTokenTypes.UserName) return CreateUserNameAuthenticator (requirement); if (requirement.TokenType == SecurityTokenTypes.X509Certificate) return CreateX509Authenticator (requirement); if (requirement.TokenType == SecurityTokenTypes.Rsa) return new RsaSecurityTokenAuthenticator (); if (requirement.TokenType == ServiceModelSecurityTokenTypes.SecureConversation) { // FIXME: get parameters from somewhere SecurityContextSecurityTokenResolver resolver = new SecurityContextSecurityTokenResolver (0x1000, true); outOfBandTokenResolver = resolver; SecurityContextSecurityTokenAuthenticator sc = new SecurityContextSecurityTokenAuthenticator (); return new SecureConversationSecurityTokenAuthenticator (requirement, sc, resolver); } if (requirement.TokenType == ServiceModelSecurityTokenTypes.AnonymousSslnego) return CreateSslTokenAuthenticator (requirement); if (requirement.TokenType == ServiceModelSecurityTokenTypes.MutualSslnego) return CreateSslTokenAuthenticator (requirement); if (requirement.TokenType == ServiceModelSecurityTokenTypes.Spnego) return CreateSpnegoTokenAuthenticator (requirement); else throw new NotImplementedException ("Not implemented token type: " + requirement.TokenType); }
public SecureConversationSecurityTokenAuthenticator ( SecurityTokenRequirement r, SecurityContextSecurityTokenAuthenticator scAuth, SecurityContextSecurityTokenResolver scResolver) { this.req = r; this.sc_auth = scAuth; this.sc_res = scResolver; comm = new WsscAuthenticatorCommunicationObject (); }
public SecureConversationSecurityTokenAuthenticator( SecurityTokenRequirement r, SecurityContextSecurityTokenAuthenticator scAuth, SecurityContextSecurityTokenResolver scResolver) { this.req = r; this.sc_auth = scAuth; this.sc_res = scResolver; comm = new WsscAuthenticatorCommunicationObject(); }
private SupportingTokenServiceCredentials(SupportingTokenServiceCredentials other) : base(other) { this.tokenResolver = other.tokenResolver; this.tokenAuthenticator = other.tokenAuthenticator; }
public SupportingTokenServiceCredentials() { this.tokenResolver = new SupportingTokenSecurityTokenResolver(); this.tokenAuthenticator = new SecurityContextSecurityTokenAuthenticator(); }
public override SecurityTokenAuthenticator CreateSecurityTokenAuthenticator ( SecurityTokenRequirement requirement, out SecurityTokenResolver outOfBandTokenResolver) { outOfBandTokenResolver = null; if (requirement.TokenType == SecurityTokenTypes.UserName) return CreateUserNameAuthenticator (requirement); if (requirement.TokenType == SecurityTokenTypes.X509Certificate) return CreateX509Authenticator (requirement); if (requirement.TokenType == SecurityTokenTypes.Rsa) return new RsaSecurityTokenAuthenticator (); if (requirement.TokenType == ServiceModelSecurityTokenTypes.SecureConversation) { SecurityBindingElement binding; if (!requirement.TryGetProperty<SecurityBindingElement> (ReqType.SecurityBindingElementProperty, out binding)) throw new ArgumentException ("SecurityBindingElement is required in the security token requirement"); SecureConversationSecurityTokenParameters issuedParams; if (!requirement.TryGetProperty<SecureConversationSecurityTokenParameters> (ReqType.IssuedSecurityTokenParametersProperty, out issuedParams)) throw new ArgumentException ("IssuedSecurityTokenParameters are required in the security token requirement"); BindingContext issuerBC; if (!requirement.TryGetProperty<BindingContext> (ReqType.IssuerBindingContextProperty, out issuerBC)) throw new ArgumentException ("IssuerBindingContext is required in the security token requirement"); SecurityTokenVersion secVer; if (!requirement.TryGetProperty<SecurityTokenVersion> (ReqType.MessageSecurityVersionProperty, out secVer)) throw new ArgumentException ("MessageSecurityVersion property (of type SecurityTokenVersion) is required in the security token requirement"); // FIXME: get parameters from somewhere SecurityContextSecurityTokenResolver resolver = new SecurityContextSecurityTokenResolver (0x1000, true); outOfBandTokenResolver = resolver; SecurityContextSecurityTokenAuthenticator sc = new SecurityContextSecurityTokenAuthenticator (); return new SecureConversationSecurityTokenAuthenticator (requirement, sc, resolver); } if (requirement.TokenType == ServiceModelSecurityTokenTypes.AnonymousSslnego) return CreateSslTokenAuthenticator (requirement); if (requirement.TokenType == ServiceModelSecurityTokenTypes.MutualSslnego) return CreateSslTokenAuthenticator (requirement); if (requirement.TokenType == ServiceModelSecurityTokenTypes.Spnego) return CreateSpnegoTokenAuthenticator (requirement); else throw new NotImplementedException ("Not implemented token type: " + requirement.TokenType); }