2016-10-18 2 views
1

Я не эксперт по безопасности, и я только начинаю с идентификатора ядра .net, поэтому у меня возникли некоторые проблемы с тем, как я в настоящее время планировал разместить .netcore/angular 2 приложения вместе. Я хотел использовать шаблоны веб-решений для основного ядра .net для отдельных учетных записей пользователей для обработки потока аутентификации для моего приложения, которое написано в Angular 2. (Кроме того: моему клиенту требуется задний конец ядра .net и угловой 2 front end в том же domain (нет CORS), поэтому решение такое).Использование Net Core Identity для защиты приложения Angular 2

По умолчанию, что все настроено, работает нормально. Когда пользователь вошел в систему, я возвращаю частичное представление, содержащее скрипты для моего углового 2 приложения и тега приложения для инициализации приложения. Мое приложение загружается отлично, и пользователь не может добраться до него, если они уже не прошли аутентификацию (если, конечно, они не обойдут. Это также позволяет мне применять .net-безопасность к просмотрам шаблонов, запрашиваемых с сервера (частичное представление рендеринга).

Мои вопросы

1) Вы можете легко настроить .net ядро ​​идентичности использовать JWT маркеры, чтобы мои угловые HTTP запросы 2 приложения могут использовать однонаправленного Авторизация? Это вызывает беспокойство, потому что, если они когда-либо идут по пути, который потребует CORS, тогда мне придется перенастроить мою аутентификацию ядра .net на какой-то токен-носитель, который может использовать мое угловое приложение 2, чтобы потреблять токен и отправить его соответствующим образом. Я не уверен, что если использовать идентификатор ядра .net можно легко настроить, чтобы вернуть токен jwt (если это возможно, сообщите мне об этом).

2) Я еще не сделал этого, но может ли быть настроен HTTP-сервис Angular2 для выполнения аутентифицированных запросов (в том же домене), которые могут правильно генерировать RequestsPrincipal на сервере, используя идентификатор ядра .net для обеспечения безопасности?

В идеале я хотел бы сконфигурировать идентификатор ядра .net, чтобы я мог использовать шаблон отдельных учетных записей пользователей, а также планировал реализацию реализаций CORS, имея теперь.

Заранее благодарим за любую помощь.

ответ

0

Вы можете проверить JWT в своем основном проекте с помощью IdentityServer4. Добавьте IdentityServer4.AccessTokenValidation в ваш project.json (устаревший) или в ваш .csproj (новый). Затем вы можете использовать IdentityServer4 Middleware, набрав в вашем Startup.Configure:

app.UseIdentityServerAuthentication(new IdentityServerAuthenticationOptions 
     { 
      Authority = IssuerURL, 
      // AllowedScopes = { "MyApp" }, 
      ScopeName= "MyApp" 
     }); 

имя_область является старшей версией, новее AllowedScopes.

Это для проверки токенов.

Для создания маркеров см. IdentityServer4 Documentation.

Я не могу помочь в Угловой.

Смежные вопросы