2

マルチクライアントを構成に追加する好ましい方法は何ですか。ADFS を使用したい顧客が数人いるため、エンドポイント/メタデータが異なります。

現時点では、起動時にデータベースから構成を読み取ろうとしましたが、それぞれに対して新しい Saml12 認証を登録します。

private static void AddSaml2Client(AuthenticationBuilder builder, DomainProvider provider, string Saml2LocalEndpoint)
        {            
            var settings = JsonHelpers.ParseJsonStringToObject<Saml2Setting>(provider.Settings);

            if (settings == null 
                || string.IsNullOrEmpty(settings.MetadataLocation) 
                || string.IsNullOrEmpty(settings.ProviderEndPoint))
            {
                Log.Error($"Missing or invalid settings for SAML2 client on {provider.DomainName}");
                return;
            }    

            builder.AddSaml2(provider.Name.Trim(), provider.Name.Trim(), options =>
            {
                options.SPOptions.EntityId = new EntityId(Saml2LocalEndpoint);


                options.IdentityProviders.Add(new IdentityProvider(
                    new EntityId(settings.ProviderEndPoint), options.SPOptions)
                {
                    MetadataLocation = settings.MetadataLocation,
                    LoadMetadata = settings.LoadMetadata,
                });
            });
        }

2 つの異なるクライアントを構成に追加すると、1 つは問題なく動作しますが、もう 1 つはunhanded exception has occurred: No Idp with entity id http://xxxxx not foundエラーで返されます。

SPOptions.EntityId を設定すると、これは私のエンドポイント (だと思います) または顧客であるはずです。

また、スキームが参照する AddSaml2 を作成するとき、どのドキュメントでもこれを見ることができませんか?

ありがとう

4

1 に答える 1