Asp.net core 在基于Identity Server 4的基础架构上注册新用户时,最佳做法是什么?
我正在添加Identity Server 4实现,为ASP.NET核心Web API提供身份验证和授权服务。客户端将是本机iOS应用程序、MVC web应用程序,以及以后可能出现的角度SPA 我能够使用AppAuth在“离线访问”的基础上向iOS客户端提供令牌,这非常好 我只是不确定要做出的一些架构选择: 1/新用户的注册应在哪里进行?为了安全起见,文献建议IS4服务器仅限于登录和注销端点。这是否意味着客户端或API应该处理商店中用户的创建?我认为IS4的全部要点是客户端和API不能访问商店?用户的添加和修改似乎是由系统中唯一可以访问存储的部分来处理的,不是吗 2/将(1)令牌(2)用户存储和(3)业务数据保存在同一数据库(不同的表但同一服务器上的同一数据库)是否安全?分开数据库更好吗 3/将Identity server应用托管在客户端应用所在域的子域上是否安全?该API已位于同一域的另一子域上 谢谢 1/新用户的注册应在哪里进行?为了安全起见,文献建议IS4服务器仅限于登录和注销端点。这是否意味着客户端或API应该处理商店中用户的创建?我认为IS4的全部要点是客户端和API不能访问商店?用户的添加和修改似乎是由系统中唯一可以访问存储的部分来处理的,不是吗 您可以扩展IDS4以添加用户管理。它是一个中间件,将符合规范的OpenID Connect和OAuth 2.0端点添加到任意ASP.NET核心应用程序中。但这并不意味着你不能扩展它。这是一个样本 2/将(1)令牌(2)用户存储和(3)业务数据保存在同一数据库(不同的表但同一服务器上的同一数据库)是否安全?分开数据库更好吗 这更多地取决于您的部署模型以及对可用性和可伸缩性的考虑,而不是安全性。我建议你多读一些书,以便做出最好的决定 3/将Identity server应用托管在客户端应用所在域的子域上是否安全?该API已位于同一域的另一子域上Asp.net core 在基于Identity Server 4的基础架构上注册新用户时,最佳做法是什么?,asp.net-core,identityserver4,Asp.net Core,Identityserver4,我正在添加Identity Server 4实现,为ASP.NET核心Web API提供身份验证和授权服务。客户端将是本机iOS应用程序、MVC web应用程序,以及以后可能出现的角度SPA 我能够使用AppAuth在“离线访问”的基础上向iOS客户端提供令牌,这非常好 我只是不确定要做出的一些架构选择: 1/新用户的注册应在哪里进行?为了安全起见,文献建议IS4服务器仅限于登录和注销端点。这是否意味着客户端或API应该处理商店中用户的创建?我认为IS4的全部要点是客户端和API不能访问商店?用
这同样与安全无关,因为更多的是可用性/可伸缩性问题我有以下想法:
- 1/新用户的注册应在哪里进行?这个 文献建议IS4服务器仅限于登录和 出于安全目的,注销终结点。这是否意味着 客户端或API应该处理商店中用户的创建?我 认为IS4的全部要点是客户端和API没有 进入商店?添加和 用户的修改只能由系统中 可以进入商店吗
- 建议:如果我从头开始应用程序,并且没有用户注册的现有接口,那么我更愿意将用户注册流作为IdS的一部分提供
- 2/保存(1)令牌(2)用户存储和(3)安全吗 相同数据库中的业务数据-不同的表但相同 同一服务器上的数据库?分开数据库更好吗
- 建议:两个选项都可以,但最好的一个是适合您的应用程序体系结构的。例如,如果我有面向服务或微服务体系结构,那么单独的数据库更可行。但是,如果只有一个应用程序作为用户注册点,而其他应用程序将使用该数据库作为用户存储,那么它已经是应用程序数据库的一部分。除非有一些限制,否则我可能更喜欢将IdS表放在单独的数据库中
- 3/将Identity server应用程序托管在子域上是否安全 到客户端应用将驻留的域?API已经启动 此同一域上的另一个子域
- 建议:如果您为多个组织提供服务,那么ID可以位于不同的域上,否则,通常做法是位于子域上