我正在使用 IdentityServer3 进行身份验证,并且我还在Azure AD
IdentityServer3 中配置为外部提供程序。由于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);
}