使用 Web API 服务作为中央身份验证点

Using a Web API Service as Central Authentication Point

我是身份管理领域的新手,所以请放过我。 :)

我想做的是让多个客户端 (MVC) 应用程序与单个 Web API 应用程序对话以验证其用户。在该 Web API 应用程序中,我想使用 ASP.NET Identity 与用户数据库对话。

这样,我就可以为客户端应用程序使用 SSO(我猜)。

这有意义吗?有人可以帮助我实现这个(当然也欢迎链接)? 我不知道 IdentityServer 是否可以帮到我?

附带一个问题:当我可以按照我想要的方式实现它时,我该如何处理同源策略?

关于活跃个人资料的许多文章,例如Federated Security: How to setup and call a WCF service secured by ADFS 2.0。但是那篇文章假设你想使用 AD?

我猜您想使用 ASP.NET 身份进行配置?

IdentityServer OOTB 支持 SQL 数据库并内置基本用户配置。它允许用户根据数据库进行身份验证并支持 WIF。

这个场景也很接近你的需求,看看答案:

How to implement an OWIN Authentication server with a MVC Web Api content server and an Android end-user apk

我还推荐阅读这篇文章: Decouple OWIN Authorization Server from Resource Server

感谢大家的帮助。 :)

在过去的几个月里,我自己做了一些研究,学到了很多关于身份管理的知识。其中很多还要感谢来自 IdentityServer(以及他们的其他项目)的人。

我最后做了以下(非常简短):

  • IdentityServer 用作所有客户端应用程序的提供程序。使用cookie和OIDC中间件。
  • 我使用 ASP.NET Identity user service 将用户存储在 SQL 服务器数据库中。 (顺便说一句,IdentityServer 配置也存储在数据库中。)
  • 我设置了 Web API 服务,该服务使用 ASP.NET 身份用户管理器进行用户配置(更改密码、创建新用户等)。它对以 IdentityServer 作为提供者的应用程序使用承载身份验证。
  • 附带说明一下,IdentityManager 用作管理所有用户的内部管理工具。

如果有人在设置他/她的身份管理系统方面寻求帮助(并且认为我可以提供帮助):请询问。 ;)