代码之家  ›  专栏  ›  技术社区  ›  Johnathon Sullinger

&流程4身份服务器标识

  •  1
  • Johnathon Sullinger  · 技术社区  · 5 年前

    对于user auth,我使用了Aspnet核心身份平台,但是我通过restapi公开了用户帐户的创建。客户机使用凭据信息进行REST调用,我的API使用microsoftdidentityapi为用户提供服务。用户将被授权使用IdentityServer4访问各个资源服务器。

    我有两个问题,我还没能从安全角度找到明确的指导。利用Microsoft标识创建用户的Aspnet核心项目是否应该与通过IdentityServer4处理auth的项目位于独立的Aspnet核心项目中?我是否需要考虑将两者分离开来有什么缺点?

    Microsoft Identity API具有模板和Razor视图,可用于从服务器端角度处理身份验证,包括帐户创建或登录时的重定向等。如果我通过SPA或客户端本地应用程序执行所有操作,只提供一个接受用户信息、创建帐户的POST API有什么问题吗通过 UserManager<T> 并返回 UserId

    我想提供一个专用的登录页面,类似于FB/Google/Twitter等,以便在任何想要为我的服务授权用户的应用程序中进行身份验证。不过,我通常不会将帐户创建视为OAuth过程的一部分。您是否会允许重定向到帐户创建页面,在成功创建帐户时重定向回客户端,或者该过程通常只用于通过OAuth流进行身份验证?

    0 回复  |  直到 5 年前
        1
  •  1
  •   Feras Taleb    5 年前

    我建议考虑为IDS4和ASP.NET身份,因为它们可以集成在一起,并为您提供所需的全部功能(身份验证和用户管理)。

    IDS4有很好的例子。

    对我来说,我认为把它们分开是一种过度工程。

    http://docs.identityserver.io/en/latest/quickstarts/0_overview.html

    https://feras.blog/how-to-use-asp-net-identity-and-identityserver4-in-your-solution/

    从IDS4链接开始,因为它可能足够了:)

        2
  •  1
  •   d_f    5 年前

    在考虑安全管理UI时,重点是如何保护UI。目前最安全的方法是使用相同的站点cookie进行基于cookie的身份验证(MVC默认使用这种方式)。如果选择无服务器SPA模式,请考虑这一点。出于管理目的,具有严格后端的应用程序比基于令牌的分布式api-s访问更安全。

    关于应用程序托管,@VidmantasBlazevicius是绝对正确的,没有唯一的策略:在一个应用程序中托管所有服务更简单,因此它更适合中等负载的系统。但是随着用户数量和身份验证请求的增加,您可能需要扩展,而将管理UI与身份验证分离是解决这一问题的方法之一。