SecurityTokenHandler 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
安全性令牌處理程式的抽象基類。
public ref class SecurityTokenHandler abstract : System::IdentityModel::Configuration::ICustomIdentityConfiguration
public abstract class SecurityTokenHandler : System.IdentityModel.Configuration.ICustomIdentityConfiguration
type SecurityTokenHandler = class
interface ICustomIdentityConfiguration
Public MustInherit Class SecurityTokenHandler
Implements ICustomIdentityConfiguration
- 繼承
-
SecurityTokenHandler
- 衍生
- 實作
範例
所有 SecurityTokenHandler 主題中的程式碼範例都是取自 Custom Token
範例。 此範例提供自定義類別,可啟用簡單 Web 令牌 (SWT) 的處理。 如需此範例和其他可供 WIF 下載之範例的資訊,請參閱 WIF 程式代碼範例索引。 下列 XML 示範如何將 SWT 令牌處理程式新增至令牌處理程式集合。
<system.identityModel>
<identityConfiguration saveBootstrapContext="true">
<issuerTokenResolver type="SimpleWebToken.CustomIssuerTokenResolver, SimpleWebToken">
<AddAudienceKeyPair symmetricKey="wAVkldQiFypTQ+kdNdGWCYCHRcee8XmXxOvgmak8vSY=" audience="http://localhost:19851/" />
</issuerTokenResolver>
<issuerNameRegistry type="RelyingParty.TrustedIssuerNameRegistry, RelyingParty"/>
<audienceUris>
<add value="http://localhost:19851/"/>
</audienceUris>
<securityTokenHandlers>
<add type="SimpleWebToken.SimpleWebTokenHandler, SimpleWebToken" />
</securityTokenHandlers>
</identityConfiguration>
</system.identityModel>
備註
SecurityTokenHandler 類別是所有安全性令牌處理程式衍生來源的基類。 安全性權杖處理程式負責:
驗證類型的安全性令牌(SecurityToken),其設計目的是將令牌中包含的宣告處理和封裝成 ClaimsIdentity 物件。
串行化和還原串行化其設計用來處理之類型的安全性令牌。
串行化和還原串行化索引鍵標識符子句(SecurityKeyIdentifierClause),這些子句是指其設計用來處理
<wsse:SecurityTokenReference>
專案之型別的令牌。從 SecurityTokenService 類別實作所傳遞 SecurityTokenDescriptor 物件建立安全性令牌。
從安全性令牌建立金鑰標識子子句,以實作 SecurityTokenService 類別。
Windows Identity Foundation (WIF) 隨附下列現用的安全性令牌處理程式:
這些類別中大部分都會公開其他成員,這些成員會實作設計類別之令牌處理的特定功能。 在許多情況下,最好是從其中一個類別衍生,而不是直接從 SecurityTokenHandler 類別衍生。
您可以藉由指定
SecurityTokenHandler 類別會公開數個其他屬性和方法。 視您選擇實作的功能而定,您可以覆寫部分或全部成員。
您必須覆寫 TokenType 屬性和 GetTokenTypeIdentifiers 方法,以提供 WIF 基礎結構,以及類別設計用來處理之安全性令牌類型的相關信息。
驗證、串行化和還原串行化功能是透過屬性或方法公開,指出處理程式是否可以執行與實作功能之方法或方法結合的特定函式。 下列清單會將指出功能的屬性或方法與實作該功能的方法配對:
CanValidateToken 屬性和 ValidateToken 方法:驗證令牌,並將令牌中包含的宣告封裝成 ClaimsIdentity。
CanWriteToken 屬性和 WriteToken 方法:令牌串行化。
CanReadToken 方法和 ReadToken 方法:Token 還原串行化。
CanReadKeyIdentifierClause 方法和 ReadKeyIdentifierClause 方法:還原串行化密鑰標識子句。
CanWriteKeyIdentifierClause 方法和 WriteKeyIdentifierClause 方法:串行化密鑰標識子句。
在 SecurityTokenService 類別的實作中,會從管線呼叫 CreateToken 和 CreateSecurityTokenReference 方法。
WIF 基礎結構會呼叫 DetectReplayedToken 方法,以判斷是否已收到指定的令牌。 根據預設,這個方法會傳回 false
,表示尚未收到令牌。 您可以覆寫 方法,並提供邏輯來偵測重新執行的令牌。
建構函式
SecurityTokenHandler() |
從衍生類別中的建構函式呼叫,以初始化 SecurityTokenHandler 類別。 |
屬性
CanValidateToken |
取得值,這個值表示處理程式是否支援安全性令牌的驗證。 |
CanWriteToken |
取得值,這個值表示處理程式是否可以串行化安全性令牌。 |
Configuration |
取得或設定提供目前實例組態的 SecurityTokenHandlerConfiguration 物件。 |
ContainingCollection |
取得包含目前實例的令牌處理程式集合。 |
TokenType |
在衍生類別中覆寫時,取得這個實例所處理之安全性令牌的類型。 |
方法
CanReadKeyIdentifierClause(XmlReader) |
傳回值,這個值表示指定的 XML 讀取器所參考的 XML 專案是否為這個實例可還原串行化的索引鍵標識子子句。 |
CanReadToken(String) |
傳回值,這個值表示指定的字串是否可以還原串行化為這個實例所處理型別的標記。 |
CanReadToken(XmlReader) |
傳回值,這個值表示指定的 XML 讀取器所參考的 XML 專案是否可以讀取為這個實例所處理之型別的標記。 |
CanWriteKeyIdentifierClause(SecurityKeyIdentifierClause) |
傳回值,這個值表示這個實例是否可以串行化指定的密鑰標識子子句。 |
CreateSecurityTokenReference(SecurityToken, Boolean) |
在衍生類別中覆寫時,為該類別所處理的令牌建立安全性令牌參考。 這個方法通常由安全性令牌服務 (STS) 呼叫。 |
CreateToken(SecurityTokenDescriptor) |
在衍生類別中覆寫時,使用指定的令牌描述元建立安全性令牌。 這個方法是由安全性令牌服務 (STS) 呼叫。 |
DetectReplayedToken(SecurityToken) |
在衍生類別中覆寫時,如果偵測到指定的令牌重新執行,則會擲回例外狀況。 |
Equals(Object) |
判斷指定的物件是否等於目前的物件。 (繼承來源 Object) |
GetHashCode() |
做為預設哈希函式。 (繼承來源 Object) |
GetTokenTypeIdentifiers() |
在衍生類別中覆寫時,傳回要求中使用的 URI 集合,以識別衍生類別所處理之型別的令牌。 |
GetType() |
取得目前實例的 Type。 (繼承來源 Object) |
LoadCustomConfiguration(XmlNodeList) |
在衍生類別中覆寫時,從 XML 載入自定義組態。 |
MemberwiseClone() |
建立目前 Object的淺層複本。 (繼承來源 Object) |
ReadKeyIdentifierClause(XmlReader) |
在衍生類別中覆寫時,將指定之 XML 讀取器所參考的 XML 還原串行化為參考衍生類別所處理之令牌的金鑰標識子子句。 |
ReadToken(String) |
在衍生類別中覆寫時,將指定的字串還原串行化為衍生類別所處理之型別的標記。 |
ReadToken(XmlReader, SecurityTokenResolver) |
在衍生類別中覆寫時,使用指定的令牌解析程式,將指定之 XML 讀取器所參考的 XML 還原串行化為衍生類別所處理之型別的令牌。 |
ReadToken(XmlReader) |
在衍生類別中覆寫時,將指定之 XML 讀取器所參考的 XML 還原串行化為衍生類別所處理之型別的令牌。 |
ToString() |
傳回表示目前 物件的字串。 (繼承來源 Object) |
TraceTokenValidationFailure(SecurityToken, String) |
在啟用追蹤時,追蹤安全性令牌驗證期間的失敗事件。 |
TraceTokenValidationSuccess(SecurityToken) |
追蹤啟用追蹤時,成功驗證安全性令牌事件。 |
ValidateToken(SecurityToken) |
在衍生類別中覆寫時,驗證指定的安全性令牌。 令牌必須是衍生類別所處理的型別。 |
WriteKeyIdentifierClause(XmlWriter, SecurityKeyIdentifierClause) |
在衍生類別中覆寫時,將指定的密鑰標識子句串行化為 XML。 金鑰標識子子句必須是衍生類別所支援的類型。 |
WriteToken(SecurityToken) |
在衍生類別中覆寫時,將指定的安全性令牌串行化為字串。 令牌必須是衍生類別所處理的型別。 |
WriteToken(XmlWriter, SecurityToken) |
在衍生類別中覆寫時,將指定的安全性令牌串行化為 XML。 令牌必須是衍生類別所處理的型別。 |