Мой основной вопрос - как настроить приложение Angular 6 или 7 для использования EUM?
Все мои Angular-приложения до сих пор использовали Bearer Token и HTTPInteceptor. Я не могу найти примеры с EUM.
Вот одна ссылка, которую я нашел, которая использует AD FS:
СПА с AD FS
Я думаю, что моя реализация будет похожей, но я бы хотел более конкретный пример с EUM.
Больше Baskground:
В настоящее время у меня есть веб-сайт SharePoint и веб-сайт администрирования ASP.NET MVC. Безопасность EUM.
Когда пользователь заходит на веб-сайт администратора, мой web.config настраивается таким образом, чтобы он автоматически перенаправлялся на страницу единого входа в EUM, если он еще не прошел проверку подлинности. После входа они перенаправляются обратно на сайт администратора. На данный момент у меня есть доступ к большому количеству информации, но все, что меня волнует, это то, что они аутентифицированы и какое там имя пользователя. На веб-сайте администратора он имеет свой собственный набор ролей для управления разрешениями.
Этот подход хорошо работал в течение 10 лет. Интеграция и тестирование были довольно просты. При работе локально, в нашей среде разработки или в промежуточной среде у меня на веб-сайте ASP.NET MVC установлено использование проверки подлинности Windows. Все эти среды являются внутренними, поэтому все пользователи, имеющие к ним доступ, проходят проверку подлинности в Active Directory в нашей сети.
Для интеграции с EUM у меня просто следующее:
<system.identityModel>
<identityConfiguration>
<audienceUris>
<!-- This value is from EUM -->
<add value="https://MyAdminWebsite/" />
</audienceUris>
<issuerNameRegistry type="System.IdentityModel.Tokens.ConfigurationBasedIssuerNameRegistry, System.IdentityModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<trustedIssuers>
<!-- These value is from EUM -->
<add thumbprint="SOMEBIGLONGSTRINGWITHLETTERSANDNUMBERS" name="urn:thinktecture:identityserver:EnvisionIT" />
</trustedIssuers>
</issuerNameRegistry>
<certificateValidation certificateValidationMode="None" />
<tokenReplayDetection enabled="true" />
</identityConfiguration>
</system.identityModel>
<system.identityModel.services>
<federationConfiguration>
<cookieHandler requireSsl="true" />
<!-- These value is from EUM -->
<wsFederation passiveRedirectEnabled="true" issuer="https://login.OurCompanySingleSignOn" realm="https://MyAdminWebsite/" reply="https://MyAdminWebsite/" requireHttps="true" />
</federationConfiguration>
</system.identityModel.services>
Эти различия в конфигурации являются единственными различиями между различными средами.
Через 12 лет сайт показывает свой возраст. По многим причинам нам нужно серьезное обновление. У меня есть 2-летний опыт работы с Angular, и я бы не сказал, что я эксперт, но я знаю, что я делаю "большую часть" времени. Angular 7 намного лучше, чем 2.
Текущее приложение представляет собой стандартное трехуровневое приложение со слоем веб-службы для доступа ко всем базам данных. Я планирую делать ту же архитектуру. Будет сайт ASP.NET Core Angular - ASP.NET Core API - БД SQL Server.
Какие-либо предложения или примеры, которые помогут мне начать?