【发布时间】:2019-03-08 13:02:28
【问题描述】:
我目前正在我的 ASP.Net Core 2.1 React/Redux 应用程序上实施安全性,我一直在关注 Js Client quickstart 以及其他 Identity Server 快速入门。我也一直在阅读Identity Server 4 + Identity Framework + React Front End 中提到的概念,并遵循了复数课程Securing ASP.NET Core 2 with OAuth2 and OpenID Connect,它在 IDS4 的背景下更深入地介绍了 oidc。
在这个复数课程中,作者进入了 OpenId Connect 流 (here if you have access),据我所知,由于项目要求,我需要将混合流用于机密客户端并通过刷新令牌进行长期访问,但是作者讨论了这将在客户端引入的潜在安全漏洞。原因是我需要一个 clientsecret,而 JavaScript 应用程序不能安全地存储它,因为它是一个公共客户端。
所以这是我的困惑,我的客户端应用程序是使用 VS2017 的项目模板构建的,用于使用 React 和 Redux 创建一个 ASP.Net Core 应用程序 - 那么它仍然是一个 Javascript 应用程序吗?此 Web 应用程序将通过单个身份管理源 (IDS4) 登录,并且需要授予客户端对 Web 项目 (React +.NET Core) 以及 WebApi 的访问权限(通过 Web 项目上的控制器),所以有一种安全地使用混合流程来实现这一目标的方法?
注意 - 由客户端的 ASP.NET 端呈现的索引页面是一个 html 文件,如果在此根页面上呈现为具有安全性的 .cshtml 会更安全吗?安全方面的最佳做法是什么?
【问题讨论】:
标签: reactjs asp.net-core identityserver4 openid-connect asp.net-core-2.1