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

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

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

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

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

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

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

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

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

適用対象