1

我正在使用 IdentityServer3 进行身份验证,并且我还在Azure ADIdentityServer3 中配置为外部提供程序。由于Azure AD使用 SAML2 协议,我使用SustainSys库进行配置Azure AD
在 Azure AD 中,我已将有效负载配置如下。请注意,电子邮件包含在有效负载中 在此处输入图像描述

但是,在用户在 Azure AD 中进行身份验证后,请求返回到 IdentityServer,SustainSys 库不包括电子邮件声明。

在此处输入图像描述

我需要在 SustainSys 库中进行任何配置以包含电子邮件声明吗?在 IdentityServer3 我正在使用代码加载 Azure AD 提供程序

      private void AddSAML2Idp(IAppBuilder app, SAML2Provider provider, string signInAsType)
        {
            var authenticationOptions = new Saml2AuthenticationOptions(false)
            {
                SPOptions = new SPOptions
                {
                    EntityId = new EntityId(provider.AuduenceURI), // Auduence URI   
                    MinIncomingSigningAlgorithm = provider.MinIncomingSigningAlgorithm,
                    ModulePath = string.Format("/{0}", provider.Idp)
                },
                SignInAsAuthenticationType = signInAsType,
                AuthenticationType = provider.Idp,
                Caption = provider.Caption
            };

            UseIdSrv3LogoutOnFederatedLogout(app, authenticationOptions);                          
            authenticationOptions.SPOptions.ServiceCertificates.Add(LoadCertificateFromWindwosStore(ApplicationConfig.Saml2SigningCertificateSubjectName));

            var identityProvider = new IdentityProvider(new EntityId(provider.EntityID), authenticationOptions.SPOptions)
            {                
                MetadataLocation = provider.MetadataLocation,
                LoadMetadata = true 
            };            

            authenticationOptions.IdentityProviders.Add(identityProvider);

            app.UseSaml2Authentication(authenticationOptions);
        }
4

0 回答 0