シングル サインオンに Kentor.AuthServices を使用しています。Okta を ID プロバイダーとして使用して、証明書、つまり okta.cert を受け取りました。これを App_Start フォルダーの下に追加し、以下の行を提供しました。
var idpOkta = new IdentityProvider(new EntityId(IssuerUrlSamlOkta),
authServicesOktaOptions.SPOptions)
{
LoadMetadata = true,
MetadataLocation = metadataSamlOkta,
SingleSignOnServiceUrl = new Uri(signOnUrlSamlOkta),
};
idpOkta.SigningKeys.AddConfiguredKey(new X509Certificate2(HostingEnvironment.MapPath("~/App_Data/okta.cert")));
authServicesOktaOptions.IdentityProviders.Add(idpOkta);
エラーはありません。しかし、問題は、この行が通過している証明書を提供した場合です。SAML アサーションがこのコード行で署名していることをどのように知ることができますか。間違った証明書名を指定すると、エラーが発生し、見つかりません。しかし、okta 証明書以外の App_Start から有効な証明書を提供しても、この行はエラーなしで渡されます。すべての SAML アサーションが適切に署名されていることを確認する方法。