次の方法で共有


SecurityTokenService.Issue(ClaimsPrincipal, RequestSecurityToken) メソッド

定義

セキュリティ トークンを発行します。

public:
 virtual System::IdentityModel::Protocols::WSTrust::RequestSecurityTokenResponse ^ Issue(System::Security::Claims::ClaimsPrincipal ^ principal, System::IdentityModel::Protocols::WSTrust::RequestSecurityToken ^ request);
public virtual System.IdentityModel.Protocols.WSTrust.RequestSecurityTokenResponse Issue(System.Security.Claims.ClaimsPrincipal principal, System.IdentityModel.Protocols.WSTrust.RequestSecurityToken request);
abstract member Issue : System.Security.Claims.ClaimsPrincipal * System.IdentityModel.Protocols.WSTrust.RequestSecurityToken -> System.IdentityModel.Protocols.WSTrust.RequestSecurityTokenResponse
override this.Issue : System.Security.Claims.ClaimsPrincipal * System.IdentityModel.Protocols.WSTrust.RequestSecurityToken -> System.IdentityModel.Protocols.WSTrust.RequestSecurityTokenResponse
Public Overridable Function Issue (principal As ClaimsPrincipal, request As RequestSecurityToken) As RequestSecurityTokenResponse

パラメーター

principal
ClaimsPrincipal

トークン リクエスタの ID を表す ClaimsPrincipal

request
RequestSecurityToken

セキュリティ トークン要求を表す RequestSecurityToken 。 これには、要求メッセージと、承認コンテキストなどの他のクライアント関連情報が含まれます。

返品

発行されたセキュリティ トークンを含む RequestSecurityTokenResponse

注釈

このメソッドは、WS-Trust 仕様で定義されている Issue バインディングを実装します。 Issue メソッドの既定の実装は、トークン発行 (要求発行) パイプラインを介して受信要求 (RST) を処理し、RP で要求者を認証するための適切な要求を持つセキュリティ トークンを含む応答 (RSTR) または適切な例外を返します。 既定の実装のトークン発行パイプラインは、( SecurityTokenService クラスの) 次のメソッドの呼び出しで構成されます。

  1. 要求を検証する ValidateRequest メソッド (RST)。

  2. 要求に関連付けられている証明書利用者 (RP) に関する情報を含むScope オブジェクトを取得するGetScopeメソッド。 このメソッドはオーバーライドする必要があります。 GetScopenullを返すと、InvalidOperationExceptionがスローされます。

  3. RST と前の手順で返されたScope オブジェクトに基づいてセキュリティ トークン記述子を返すCreateSecurityTokenDescriptorメソッド。 セキュリティ トークン記述子 (SecurityTokenDescriptor) には、トークン ハンドラーで使用できる形式の要求に関する情報が含まれています。 SecurityTokenService.SecurityTokenDescriptor プロパティは、呼び出しによって返される記述子に設定されます。 nullが返された場合、または記述子のSigningCredentials プロパティがnull場合は、InvalidOperationExceptionがスローされます。 Scope.TokenEncryptionRequired プロパティがtrueされているが、返される記述子のEncryptingCredentials プロパティがnull場合も、例外がスローされます。

  4. 要求されたトークンの種類に基づいて適切なトークン ハンドラーを取得する GetSecurityTokenHandler メソッド。 nullが返されると、NotImplementedExceptionがスローされます。

  5. トークンの発行者名を取得する GetIssuerName メソッド。 名前がnullまたは空の場合はInvalidOperationExceptionをスローします。それ以外の場合は、記述子のTokenIssuerNameプロパティを設定します。

  6. トークンの有効期間を取得し、記述子のLifetime プロパティを設定するGetTokenLifetimeメソッド。

  7. 発行されたトークンに含める証明トークンを取得し、記述子のProof プロパティを設定するGetProofTokenメソッド。

  8. 発行されたトークンに含める要求を取得し、記述子のSubject プロパティを設定するGetOutputClaimsIdentityメソッド。 このメソッドはオーバーライドする必要があります。

  9. 発行されたトークンを含む応答 (RSTR) を作成する GetResponse メソッド。

Issue メソッドをオーバーライドしてカスタム トークン発行パイプラインを実装できますが、これは通常、SecurityTokenService クラスのほとんどのカスタム実装が意図されている開発環境およびテスト環境では必要ありません。 これらの多くの場合、 GetOutputClaimsIdentity メソッドと GetScope メソッドをオーバーライドし、必要に応じて ValidateRequest メソッドをオーバーライドして、環境にサービス可能な STS を提供します。 さらにカスタマイズが必要な場合は、多くの場合、上記の既定のトークン発行パイプラインの各ステージを実装するメソッドをオーバーライドして提供できます。

適用対象