В настоящее время я нахожусь в процессе обеспечения безопасности в моем приложении 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?с безопасностью на этой корневой странице?Какова лучшая практика здесь для безопасности?