我正在使用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);
}