IdentityServer3を使用して認証/認可サーバーを開発しています。ハイブリッド認証フローを使用したクライアント証明書
サンプルのハッシュされた秘密ではなく、X509Certificateでハイブリッドフロークライアントを検証しようとしています。
質問:認証フローの証明書を送信するようにクライアントアプリケーションを設定するにはどうすればよいですか。
クライアント証明書を取得するために、ソースコードでX509CertificateSecretParser.csを確認しましたが、owin環境変数 "ssl.ClientCertificate"に値が必要ですが、Microsoft.Owinでもこの値が設定されている場所が見つかりませんソースコード。
また、クライアントアプリケーションのSSL証明書としてサーバーに読み込んでいる証明書を使用しようとしていますが、これも機能しません。クライアントアプリケーションのセットアップ・デ・認証のための
[my client].ClientSecrets.Add(new Secret
{
Value = Convert.ToBase64String(cert.Export(X509ContentType.Cert)),
Type = Constants.SecretTypes.X509CertificateBase64
});
コード:セットアップのための
コードは秘密クライアント
app.UseOpenIdConnectAuthentication(new OpenIdConnectAuthenticationOptions
{
Authority = ...,
Scope = ...,
ClientId = ...,
RedirectUri = ...,
ResponseType = "code id_token token",
ClientSecret = "" , //What should I do with this?
SignInAsAuthenticationType = "Cookies",
Notifications = new OpenIdConnectAuthenticationNotifications
{
RedirectToIdentityProvider = ...,
AuthorizationCodeReceived = ...
}
});