本文整理汇总了C#中SecurityTokenHandlerCollection类的典型用法代码示例。如果您正苦于以下问题:C# SecurityTokenHandlerCollection类的具体用法?C# SecurityTokenHandlerCollection怎么用?C# SecurityTokenHandlerCollection使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
SecurityTokenHandlerCollection类属于命名空间,在下文中一共展示了SecurityTokenHandlerCollection类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: CreateServiceHost
public override ServiceHostBase CreateServiceHost(string constructorString, Uri[] baseAddresses)
{
// <!-- IssuerName Configuration - ha50idpm2 -->
string idpEntityId = WebConfigurationManager.AppSettings["IdpEntityId"];
CustomSecurityTokenServiceConfiguration config = new CustomSecurityTokenServiceConfiguration(idpEntityId);
// Create a security token handler collection and then provide with a SAML2 security token
// handler and set the Audience restriction to Never
SecurityTokenHandlerCollection onBehalfOfHandlers = new SecurityTokenHandlerCollection();
OnBehalfOfSaml2SecurityTokenHandler onBehalfOfTokenHandler = new OnBehalfOfSaml2SecurityTokenHandler();
onBehalfOfHandlers.Add(onBehalfOfTokenHandler);
// Do not process the Audience in the incoming OnBehalfOf token since this token
// is not for authenticating with the ADS
onBehalfOfHandlers.Configuration.AudienceRestriction.AudienceMode = AudienceUriMode.Never;
// Set the appropriate issuer name registry
onBehalfOfHandlers.Configuration.IssuerNameRegistry = new IdpAdsIssuerNameRegistry();
// Set the token handlers collection
config.SecurityTokenHandlerCollectionManager[SecurityTokenHandlerCollectionManager.Usage.OnBehalfOf] = onBehalfOfHandlers;
WSTrustServiceHost host = new WSTrustServiceHost(config, baseAddresses);
host.Description.Endpoints[0].Contract.ProtectionLevel = System.Net.Security.ProtectionLevel.Sign;
return host;
}
示例2: AddSaml2SecurityTokenHandler
public void AddSaml2SecurityTokenHandler(string scheme, SecurityTokenHandlerConfiguration configuration)
{
var collection = new SecurityTokenHandlerCollection(configuration)
{
new HttpSaml2SecurityTokenHandler()
};
Add(scheme, collection);
}
开发者ID:wenz,项目名称:Thinktecture.IdentityModel.Http,代码行数:9,代码来源:HttpSecurityTokenHandlerCollectionManager.cs
示例3: AddSaml11SecurityTokenHandler
public void AddSaml11SecurityTokenHandler(string scheme, SecurityTokenHandlerConfiguration configuration)
{
var collection = new SecurityTokenHandlerCollection(configuration)
{
new WebSaml11SecurityTokenHandler(),
new EncryptedSecurityTokenHandler()
};
Add(scheme, collection);
}
开发者ID:1nv4d3r5,项目名称:Thinktecture.IdentityModel.Web,代码行数:10,代码来源:WebSecurityTokenHandlerCollectionManager.cs
示例4: WsFederationAuthenticationOptions
public WsFederationAuthenticationOptions(string authenticationType)
: base(authenticationType)
{
AuthenticationMode = Security.AuthenticationMode.Active;
Caption = WsFederationAuthenticationDefaults.Caption;
_securityTokenHandlers = SecurityTokenHandlerCollectionExtensions.GetDefaultHandlers(authenticationType);
_tokenValidationParameters = new TokenValidationParameters();
BackchannelTimeout = TimeSpan.FromMinutes(1);
}
示例5: Add
public void Add(string scheme, SecurityTokenHandlerCollection collection)
{
if (this.ContainsKey(scheme))
{
throw new ArgumentException("Scheme already registered.");
}
this[scheme] = collection;
_schemes.Add(scheme);
}
开发者ID:wenz,项目名称:Thinktecture.IdentityModel.Http,代码行数:10,代码来源:HttpSecurityTokenHandlerCollectionManager.cs
示例6: ToSecurityToken
/// <summary>
/// Turns a supported generic XML security token to a security token.
/// </summary>
/// <param name="token">The generic XML security token.</param>
/// <param name="handler">The security token handler.</param>
/// <returns>A SecurityToken</returns>
public static SecurityToken ToSecurityToken(this GenericXmlSecurityToken token, SecurityTokenHandlerCollection handler)
{
var reader = new XmlTextReader(new StringReader(token.TokenXml.OuterXml));
if (handler.CanReadToken(reader))
{
return handler.ReadToken(reader);
}
else
{
throw new InvalidOperationException("Unsupported token type");
}
}
示例7: SecurityTokenSerializerAdapter
/// <summary>
/// Initializes an instance of <see cref="SecurityTokenSerializerAdapter"/>
/// </summary>
/// <param name="securityTokenHandlerCollection">
/// The <see cref="SecurityTokenHandlerCollection" /> containing the set of <see cref="SecurityTokenHandler" />
/// </param>
public SecurityTokenSerializerAdapter(SecurityTokenHandlerCollection securityTokenHandlerCollection)
{
if (securityTokenHandlerCollection == null)
{
throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("securityTokenHandlerCollection");
}
_securityTokenHandlers = securityTokenHandlerCollection;
KeyInfoSerializer serializer = securityTokenHandlerCollection.KeyInfoSerializer as KeyInfoSerializer;
if (serializer != null)
{
serializer.InnerSecurityTokenSerializer = this;
}
}
示例8: AddDefaultHandler
public void AddDefaultHandler()
{
if (this.ContainsKey("*"))
{
throw new ArgumentException("Scheme already registered.");
}
var collection = new SecurityTokenHandlerCollection
{
new WebDefaultSecurityTokenHandler()
};
Add("*", collection);
}
开发者ID:1nv4d3r5,项目名称:Thinktecture.IdentityModel.Web,代码行数:14,代码来源:WebSecurityTokenHandlerCollectionManager.cs
示例9: SecurityTokenElement
/// <summary>
/// Creates an instance of this object using XML representation of the security token.
/// </summary>
/// <param name="securityTokenXml">The <see cref="XmlElement"/> representation of the security token.</param>
/// <param name="securityTokenHandlers">The collection of <see cref="SecurityTokenHandler"/> objects that may
/// be used to read and validate the security token this object represents.</param>
public SecurityTokenElement(XmlElement securityTokenXml, SecurityTokenHandlerCollection securityTokenHandlers)
{
if (securityTokenXml == null)
{
throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("securityTokenXml");
}
if (securityTokenHandlers == null)
{
throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("securityTokenHandlers");
}
_securityTokenXml = securityTokenXml;
_securityTokenHandlers = securityTokenHandlers;
}
示例10: SctClaimsHandler
/// <summary>
/// Creates an instance of <see cref="SctClaimsHandler"/>
/// </summary>
public SctClaimsHandler(
SecurityTokenHandlerCollection securityTokenHandlerCollection,
string endpointId)
{
if ( securityTokenHandlerCollection == null )
{
throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull( "securityTokenHandlerCollection" );
}
if ( endpointId == null )
{
throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNullOrEmptyString( "endpointId" );
}
_securityTokenHandlerCollection = securityTokenHandlerCollection;
_endpointId = endpointId;
}
示例11: CustomSecurityTokenServiceConfiguration
public CustomSecurityTokenServiceConfiguration()
{
AudienceRestriction.AudienceMode = AudienceUriMode.Never;
CertificateValidationMode = X509CertificateValidationMode.None;
IssuerNameRegistry = new FakeIssuerNameRegistry();
SecurityTokenService = typeof(CustomSecurityTokenService);
DefaultTokenLifetime = Configuration.PersistentSessionLength;
MaximumTokenLifetime = Configuration.PersistentSessionLength;
TokenIssuerName = Configuration.IssuerName;
SigningCredentials = new X509SigningCredentials(Configuration.TokenSigningCertificate);
var actAsHandlers = new SecurityTokenHandlerCollection(new SecurityTokenHandler[] { new Saml11SecurityTokenHandler(), new Saml2SecurityTokenHandler() });
actAsHandlers.Configuration.AudienceRestriction.AudienceMode = AudienceUriMode.Never;
actAsHandlers.Configuration.CertificateValidator = X509CertificateValidator.None;
actAsHandlers.Configuration.IssuerNameRegistry = new FakeIssuerNameRegistry();
SecurityTokenHandlerCollectionManager[SecurityTokenHandlerCollectionManager.Usage.ActAs] = actAsHandlers;
}
示例12: CreateServiceHost
public override ServiceHostBase CreateServiceHost(string constructorString, Uri[] baseAddresses)
{
StreamWriter file = new StreamWriter("c:\\temp\\IdentityProviderSts.OnBehalfOfSecurityTokenServiceFactory - CreateServiceHost.txt", true);
file.WriteLine("_________________________________________");
file.WriteLine("DateTime: " + DateTime.Now.ToString());
file.WriteLine("constructorString:" + constructorString);
file.Close();
SecurityTokenServiceConfiguration config = new SecurityTokenServiceConfiguration("https://ha50idp:8544/IDP-STS/Issue.svc");
//Uri baseUri = baseAddresses.FirstOrDefault(a => a.Scheme == "https");
//if (baseUri == null)
// throw new InvalidOperationException("The STS should be hosted under https");
//config.TrustEndpoints.Add(new ServiceHostEndpointConfiguration(typeof(IWSTrust13SyncContract), GetCertificateCredentialsBinding(), baseUri + ""));
// Set the STS implementation class type
config.SecurityTokenService = typeof(CustomSecurityTokenService);
// Create a security token handler collection and then provide with a SAML11 security token
// handler and set the Audience restriction to Never
SecurityTokenHandlerCollection onBehalfOfHandlers = new SecurityTokenHandlerCollection();
Saml2SecurityTokenHandler onBehalfOfTokenHandler = new Saml2SecurityTokenHandler();
onBehalfOfHandlers.Add(onBehalfOfTokenHandler);
//onBehalfOfHandlers.Add(userNameTokenHandler);
onBehalfOfHandlers.Configuration.AudienceRestriction.AudienceMode = AudienceUriMode.Never;
// Set the appropriate issuer name registry
//onBehalfOfHandlers.Configuration.IssuerNameRegistry = new IdentityProviderIssuerNameRegistry();
// Set the token handlers collection
config.SecurityTokenHandlerCollectionManager[SecurityTokenHandlerCollectionManager.Usage.OnBehalfOf] = onBehalfOfHandlers;
// WindowsUserNameSecurityTokenHandler userNameTokenHandler = new WindowsUserNameSecurityTokenHandler();
// config.SecurityTokenHandlerCollectionManager[SecurityTokenHandlerCollectionManager.Usage.Default].Add(userNameTokenHandler);
WSTrustServiceHost host = new WSTrustServiceHost(config, baseAddresses);
return host;
}
示例13: SerializeToken
private static string SerializeToken(SimpleWebToken accessToken, SecurityTokenHandlerCollection handlers)
{
if (handlers.CanWriteToken(accessToken))
{
string token = String.Empty;
using (var sw = new StringWriter())
{
var writer = new XmlTextWriter(sw);
handlers.WriteToken(writer, accessToken);
// remove the envelope <stringToken>
var envelope = sw.ToString();
token = XElement.Parse(envelope).Value;
}
return token;
}
return null;
}
示例14: TryGetHeaderMapping
public bool TryGetHeaderMapping(string headerName, out SecurityTokenHandlerCollection handler)
{
handler = (from m in Mappings
where m.Options.RequestType == HttpRequestType.Header &&
m.Options.Name == headerName
select m.TokenHandler).SingleOrDefault();
return (handler != null);
}
示例15: SecurityTokenHandlerCollectionExtensions_Publics
public void SecurityTokenHandlerCollectionExtensions_Publics()
{
SecurityTokenHandlerCollection securityTokenValidators = new SecurityTokenHandlerCollection();
string defaultSamlToken = IdentityUtilities.CreateSamlToken();
string defaultSaml2Token = IdentityUtilities.CreateSaml2Token();
string defaultJwt = IdentityUtilities.DefaultAsymmetricJwt;
ExpectedException expectedException = ExpectedException.ArgumentNullException("Parameter name: securityToken");
ValidateToken(null, null, securityTokenValidators, expectedException);
expectedException = ExpectedException.ArgumentNullException("Parameter name: validationParameters");
ValidateToken(defaultSamlToken, null, securityTokenValidators, expectedException);
TokenValidationParameters tokenValidationParameters = new TokenValidationParameters();
expectedException = ExpectedException.SecurityTokenValidationException("IDX10201");
ValidateToken(defaultSamlToken, tokenValidationParameters, securityTokenValidators, expectedException);
securityTokenValidators = SecurityTokenHandlerCollectionExtensions.GetDefaultHandlers();
expectedException = ExpectedException.SignatureVerificationFailedException(substringExpected: "ID4037:");
ValidateToken(defaultSamlToken, tokenValidationParameters, securityTokenValidators, expectedException);
securityTokenValidators.Clear();
securityTokenValidators.Add(new IMSamlTokenHandler());
ValidateToken(defaultSamlToken, tokenValidationParameters, securityTokenValidators, ExpectedException.SignatureVerificationFailedException(substringExpected: "ID4037:"));
ValidateToken(defaultSamlToken, IdentityUtilities.DefaultAsymmetricTokenValidationParameters, securityTokenValidators, ExpectedException.NoExceptionExpected);
ValidateToken(defaultSaml2Token, IdentityUtilities.DefaultAsymmetricTokenValidationParameters, securityTokenValidators, ExpectedException.SecurityTokenValidationException(substringExpected: "IDX10201:"));
securityTokenValidators.Add(new IMSaml2TokenHandler());
securityTokenValidators.Add(new System.IdentityModel.Tokens.JwtSecurityTokenHandler());
ValidateToken(defaultSaml2Token, IdentityUtilities.DefaultAsymmetricTokenValidationParameters, securityTokenValidators, ExpectedException.NoExceptionExpected);
ValidateToken(defaultJwt, IdentityUtilities.DefaultAsymmetricTokenValidationParameters, securityTokenValidators, ExpectedException.NoExceptionExpected);
}
开发者ID:richardschneider,项目名称:azure-activedirectory-identitymodel-extensions-for-dotnet,代码行数:31,代码来源:SecurityTokenHandlerCollectionExtensionsTests.cs