Я использую IdentityServer3 для аутентификации, и я также настроил Azure AD
в качестве внешнего поставщика в IdentityServer3.Поскольку Azure AD
использует протокол SAML2, я использую библиотеку SustainSys для настройки Azure AD
.
В Azure AD я настроил полезную нагрузку, как показано ниже.Обратите внимание, что электронное письмо включено в полезную нагрузку ![enter image description here](https://i.stack.imgur.com/lWNed.png)
Однако после того, как пользователь прошел проверку подлинности в Azure AD и запрос возвращается в IdentityServer, библиотека SustainSys не включает требование электронной почты.
![enter image description here](https://i.stack.imgur.com/iBN1n.png)
Есть ли какая-либо конфигурация, которую мне нужно выполнить в библиотеке 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);
}