SamlSecurityTokenHandler 类

定义

专为 SecurityTokenHandler 创建和验证 Saml 令牌而设计。 请参阅:http://docs.oasis-open.org/security/saml/v2.0/saml-core-2.0-os.pdf

public class SamlSecurityTokenHandler : Microsoft.IdentityModel.Tokens.SecurityTokenHandler, Microsoft.IdentityModel.Tokens.Experimental.IResultBasedValidation
type SamlSecurityTokenHandler = class
    inherit SecurityTokenHandler
    interface IResultBasedValidation
Public Class SamlSecurityTokenHandler
Inherits SecurityTokenHandler
Implements IResultBasedValidation
继承
SamlSecurityTokenHandler
实现

构造函数

名称 说明
SamlSecurityTokenHandler()

专为 SecurityTokenHandler 创建和验证 Saml 令牌而设计。 请参阅:http://docs.oasis-open.org/security/saml/v2.0/saml-core-2.0-os.pdf

属性

名称 说明
CanValidateToken

获取一个值,该值指示此处理程序是否支持验证此实例处理的令牌。

CanWriteToken

获取一个值,该值指示类是否提供序列化功能来序列化此实例处理的 securityToken。

MaximumTokenSizeInBytes

获取和设置将处理的最大令牌大小(以字节为单位)。

(继承自 TokenHandler)
SamlSubjectEqualityComparer

获取或设置 SamlSubject 比较器。

Serializer

获取或设置 SamlSerializer 将用于读取和写入 a SamlSecurityToken.

SetDefaultTimesOnTokenCreation

获取或设置一个布尔值,用于控制令牌创建是否将设置默认的“exp”、“nbf”和“iat”(如果未指定)。

(继承自 TokenHandler)
TokenLifetimeInMinutes

获取或设置令牌生存期(以分钟为单位)。

(继承自 TokenHandler)
TokenType

获取此处理程序支持的 securityToken 类型。

方法

名称 说明
AddActorToAttributes(ICollection<SamlAttribute>, ClaimsIdentity)

添加所有执行组件。

CanReadToken(String)

通过检查正确的起始元素的 xml,确定字符串是否为有效的 Saml 令牌。

CanReadToken(XmlReader)

指示当前读取器是否位于 Saml 断言处。

ConsolidateAttributes(ICollection<SamlAttribute>)

将具有通用声明类型、声明值类型和原始颁发者的属性收集到具有多个值的单个属性中。

CreateAdvice(SecurityTokenDescriptor)

重写此方法以提供要在 Samltoken 中放置的 SamlAdvice。

CreateAttribute(Claim)

从声明生成 SamlAttribute。

CreateAttributeStatement(SamlSubject, SecurityTokenDescriptor)

创建 SamlAttributeStatements 并将其添加到集合中。 重写此方法以提供自定义实现。

默认行为是为 tokenDescriptor.Subjects 集合中的每个使用者创建新的 SamlAttributeStatement。

CreateAuthenticationStatement(SamlSubject, AuthenticationInformation)

为 AuthenticationInformation 中找到的每个 AuthenticationInformation 创建 SamlAuthenticationStatement。 重写此方法以提供自定义实现。

CreateAuthorizationDecisionStatement(SecurityTokenDescriptor)

从 . 创建一个 SamlAuthorizationDecisionStatementSecurityTokenDescriptor

CreateClaimsIdentities(SamlSecurityToken, String, TokenValidationParameters)

从 Saml securityToken 创建声明。

CreateConditions(SecurityTokenDescriptor)

生成 saml 的所有条件

CreateSecurityTokenReference(SecurityToken, Boolean)

返回 SecurityKeyIdentifierClause

(继承自 SecurityTokenHandler)
CreateStatements(SecurityTokenDescriptor, AuthenticationInformation)

从 SecurityTokenDescriptor 生成 SamlStatements 的枚举。 仅生成 SamlAttributeStatements 和 SamlAuthenticationStatements。 覆盖此方法以自定义语句的创建。

按顺序调用(全部为虚拟):1.CreateSamlSubject 2。CreateAttributeStatements 3。CreateAuthenticationStatements 4。CreateAuthorizationDecisionStatement

CreateSubject(SecurityTokenDescriptor)

返回要用于将创建的所有语句的 SamlSubject。 覆盖此方法以自定义 SamlSubject 的创建。

CreateToken(SecurityTokenDescriptor, AuthenticationInformation)

基于包含在 .. 中SecurityTokenDescriptor的信息创建一个 SamlSecurityToken

CreateToken(SecurityTokenDescriptor)

基于包含在 .. 中SecurityTokenDescriptor的信息创建一个 SamlSecurityToken

CreateXmlStringFromAttributes(ICollection<SamlAttribute>)

从表示 Actor 的 saml 属性集合中生成 XML 格式的字符串。

ProcessAttributeStatement(SamlAttributeStatement, ClaimsIdentity, String)

从 . SamlAttributeStatement. 创建声明

ProcessAuthenticationStatement(SamlAuthenticationStatement, ClaimsIdentity, String)

从 . SamlAuthenticationStatement. 创建声明

ProcessAuthorizationDecisionStatement(SamlAuthorizationDecisionStatement, ClaimsIdentity, String)

从 . SamlAuthorizationDecisionStatement. 创建声明

ProcessCustomSubjectStatement(SamlStatement, ClaimsIdentity, String)

从未知情语句创建声明。

ProcessStatements(SamlSecurityToken, String, TokenValidationParameters)

处理所有语句以生成声明。

ProcessSubject(SamlSubject, ClaimsIdentity, String)

从 . SamlSubject. 创建使用者声明

ReadSamlToken(String)

将字符串转换为 . 的 SamlSecurityToken实例。

ReadSamlToken(XmlReader)

SamlSecurityToken读取 XmlReader 定位 Saml 断言的开头的位置。

ReadToken(String)

将字符串转换为 . 的 SamlSecurityToken实例。

ReadToken(XmlReader, TokenValidationParameters)

从 XML 反序列化此实例处理的类型标记。

ReadToken(XmlReader)

SamlSecurityToken读取 XmlReader 定位 Saml 断言的开头的位置。

ResolveIssuerSigningKey(String, SamlSecurityToken, TokenValidationParameters)

返回用于验证令牌签名的 A SecurityKey

SetDelegateFromAttribute(SamlAttribute, ClaimsIdentity, String)

检测到特殊类型的 SamlAttribute 时,将调用此方法。 传入的 SamlAttribute 包装一个 SamlAttribute,其中包含 AttributeValues 的集合,每个属性都映射到声明。 所有声明都将在具有指定颁发者的 ClaimsIdentity 中返回。

ValidateAudience(IEnumerable<String>, SecurityToken, TokenValidationParameters)

确定在某个 SamlSecurityToken 对象中找到的受众是否有效。

ValidateConditions(SamlSecurityToken, TokenValidationParameters)

验证生存期和受众条件。

ValidateIssuer(String, SecurityToken, TokenValidationParameters)

确定在某个 SamlSecurityToken 颁发者中找到的颁发者是否有效。

ValidateIssuerSecurityKey(SecurityKey, SamlSecurityToken, TokenValidationParameters)

验证 SigningKey 是否为预期值。

ValidateIssuerSecurityKey(SecurityKey, SecurityToken, TokenValidationParameters)

SecurityToken验证是否已由有效SecurityKey签名。

ValidateLifetime(Nullable<DateTime>, Nullable<DateTime>, SecurityToken, TokenValidationParameters)

验证 . 的 SamlSecurityToken生存期。

ValidateSignature(String, TokenValidationParameters)

验证签名(如果找到)是否有效。

ValidateToken(String, TokenValidationParameters, SecurityToken)

读取并验证格式 SamlSecurityToken正确的 。

ValidateToken(XmlReader, TokenValidationParameters, SecurityToken)

读取并验证格式 SamlSecurityToken正确的 。

ValidateTokenAsync(SecurityToken, TokenValidationParameters)

验证令牌。 在验证失败时,不会引发异常;相反,将在返回的 TokenValidationResult.Exception 属性中设置异常。 调用方应始终检查 TokenValidationResult.IsValid 属性以验证结果的有效性。

(继承自 TokenHandler)
ValidateTokenAsync(String, TokenValidationParameters)

验证令牌。 在验证失败时,不会引发异常;相反,将在返回的 TokenValidationResult.Exception 属性中设置异常。 调用方应始终检查 TokenValidationResult.IsValid 属性以验证结果的有效性。

ValidateTokenReplay(Nullable<DateTime>, String, TokenValidationParameters)

验证令牌重播。

WriteToken(SecurityToken)

将 a SamlSecurityToken 序列化为字符串。

WriteToken(XmlWriter, SecurityToken)

序列化为此实例处理的类型的 securityToken。

显式接口实现

名称 说明
IResultBasedValidation.ValidateTokenAsync(SecurityToken, ValidationParameters, CallContext, CancellationToken)

专为 SecurityTokenHandler 创建和验证 Saml 令牌而设计。 请参阅:http://docs.oasis-open.org/security/saml/v2.0/saml-core-2.0-os.pdf

IResultBasedValidation.ValidateTokenAsync(SecurityToken, ValidationParameters, CallContext)

专为 SecurityTokenHandler 创建和验证 Saml 令牌而设计。 请参阅:http://docs.oasis-open.org/security/saml/v2.0/saml-core-2.0-os.pdf

IResultBasedValidation.ValidateTokenAsync(String, ValidationParameters, CallContext, CancellationToken)

专为 SecurityTokenHandler 创建和验证 Saml 令牌而设计。 请参阅:http://docs.oasis-open.org/security/saml/v2.0/saml-core-2.0-os.pdf

IResultBasedValidation.ValidateTokenAsync(String, ValidationParameters, CallContext)

专为 SecurityTokenHandler 创建和验证 Saml 令牌而设计。 请参阅:http://docs.oasis-open.org/security/saml/v2.0/saml-core-2.0-os.pdf

适用于