Безопасность и потоки OpenId Connect с ASP.Net Core 2.1 и React - PullRequest
0 голосов
/ 03 октября 2018

В настоящее время я нахожусь в процессе обеспечения безопасности в моем приложении ASP.Net Core 2.1 React / Redux и следил за быстрым запуском Js Client , а также за другими быстрыми запусками Identity Server.Я также читал о концепциях, упомянутых в Identity Server 4 + Identity Framework + React Front End и следую многоплановому курсу Защита ASP.NET Core 2 с помощью OAuth2 и OpenID Connect который входит в oidc в контексте IDS4 немного глубже.

Во время этого курса множественного взгляда автор переходит к потокам OpenId Connect ( здесь, если у вас есть доступ ) и из того, что я понял, я 'Потребуется использовать гибридный поток для конфиденциальных клиентов и долгоживущего доступа через токены обновления из-за несоответствующих требований, но автор обсуждает потенциальные недостатки безопасности, которые могут возникнуть на стороне клиента.Причина в том, что мне потребовался бы секретный ключ клиента, а приложение JavaScript не может безопасно его сохранить, поскольку это общедоступный клиент.

Так что вот мое замешательство, мое клиентское приложение построено с использованием шаблона проекта VS2017 для создания ASPПриложение .Net Core с React и Redux - так это все еще приложение Javascript?Это веб-приложение будет входить через единый источник управления идентификацией (IDS4), и ему потребуется предоставить клиенту доступ к веб-проекту (React + .NET Core), а также к WebApi (через контроллеры в веб-проекте), так что естьспособ БЕЗОПАСНО использовать гибридный поток для достижения этой цели?

ПРИМЕЧАНИЕ. - Страница индекса, отображаемая на стороне ASP.NET клиента, представляет собой HTML-файл, будет ли он более безопасным, если он будет отображен как .cshtml?с безопасностью на этой корневой странице?Какова лучшая практика здесь для безопасности?

1 Ответ

0 голосов
/ 03 октября 2018

Для приложения на чистом JavaScript рекомендуется использовать неявный поток, который поддерживает библиотека oidc-client-js.Он наилучшим образом подходит для этой архитектуры и поддерживает автоматическое обновление токенов доступа, но не лишен недостатков - особенно уязвим для кражи токенов через XSS.

Вы можете использовать гибридный поток на стороне сервера в сочетании с cookie для бэкендааутентификация, но тогда вам придется смягчить против CSRF.

...