ASP.NET 核心:作为其他应用程序的外部身份验证源

ASP.NET Core: Being an external authentication source for other applications

在 ASP.NET Core 中,使用外部身份验证服务允许用户登录 Web 应用程序非常容易(开箱即用地支持 MS、Facebook 和 Google 帐户)。

但是,我如何才能将我的应用程序设置为实际上成为我正在编写的其他网络应用程序的外部身份验证提供程序?我还没有在网上找到任何这样的例子。理想情况下,我希望一个核心应用程序存储主要用户帐户,然后让其他应用程序使用这些帐户登录,就像使用任何其他外部帐户登录一样。

我知道这可能可以通过在帐户之间共享身份数据库并让它们直接使用所有相同的用户来实现,但理想情况下,OAuth2 样式的解决方案更适合完全分离。有没有什么好的 "out of the box" 方法可以做到这一点,或者它不是一个得到很好支持的方案?

Ryan,thinktecture 'identityserver4' 是你可以使用的。它是 asp.net 核心管道中托管的 o​​auth 和 openid 提供程序。他的网站上有大量资源。 asp.net 核心团队推荐。