Asp.net web api 我需要oauth进行基于令牌的访问身份验证吗

Asp.net web api 我需要oauth进行基于令牌的访问身份验证吗,asp.net-web-api,asp.net-identity,thinktecture-ident-server,Asp.net Web Api,Asp.net Identity,Thinktecture Ident Server,我有一个单页应用程序,用于非/移动html5浏览器,通过asp.net web API从RESTful HTTP API获取数据。我们使用在windows服务中运行的OWIN自托管 我不想要基于cookie的身份验证。我想对用户进行身份验证,并给他一个基于json的访问令牌,该令牌具有在UI中编辑/创建/删除/显示某些内容的声明/权限 我不需要外部登录提供程序。我们的用户将使用用户名和密码进行身份验证,而不是他们的谷歌电子邮件 现在我问自己,我应该选择thinktecture和IdentityS

我有一个单页应用程序,用于非/移动html5浏览器,通过asp.net web API从RESTful HTTP API获取数据。我们使用在windows服务中运行的OWIN自托管

我不想要基于cookie的身份验证。我想对用户进行身份验证,并给他一个基于json的访问令牌,该令牌具有在UI中编辑/创建/删除/显示某些内容的声明/权限

我不需要外部登录提供程序。我们的用户将使用用户名和密码进行身份验证,而不是他们的谷歌电子邮件

现在我问自己,我应该选择thinktecture和IdentityServer,还是asp.net身份验证,或者…OWIN和ExternalBear身份验证,我在这里迷路了


基于我的信息,您的建议是什么?

IdentityServer适用于您有多个应用程序并希望它们针对单个STS进行身份验证的场景,基本上如果您想要SSO的话。您描述的场景是由OAuth在IdentityServer中实现的。也就是说,您定义一个希望使用IdentityServer进行身份验证的应用程序,然后创建一个OAuth客户端以获取访问该应用程序的访问令牌。如果不是这样,那么您最好避免引入第三方组件来完成这项工作的复杂性。我们使用IdentityServer对3个不同应用程序、2个SPA和一个MVC应用程序的用户进行身份验证。此外,在这种情况下,您确实不能将OWIN和ASP.NET标识分开。OWIN中间件将为您提供令牌,它将使用ASP.NET标识作为用户存储库来验证用户,因此OWIN只是提供令牌并使用ASP.NET标识来验证用户。

对于有关ASP.NET标识或…OWIN的误导性评论,我深表歉意。当然,它们是相互依存的。我们只有一个申请。。。第三方组件来完成这项工作。。。第三方将是asp.net身份,对吗?如果我想让一个独立的管理站点和用户站点在独立的服务器上运行,那么你说identityserver更适合吗?不,第三方应该是identityserver。我基本上是说IdentityServer有它自己的学习曲线,它的文档远没有OWIN和ASP.NET Identity丰富或完整。如果我是你,我会继续使用ASP.NET Identity/OWIN,如果您认为将来会有其他应用程序需要针对同一用户数据库进行身份验证,请使用IdentityServer。如果您认为将来会有其他应用程序需要针对同一用户数据库进行身份验证,请使用IdentityServer正如我之前所说,我们将有一个单独的管理员/用户站点。当管理员或用户登录他们的每个站点时,他们当然会使用相同的数据库。基于这些信息,在owin中使用identityServer与asp.net identity的具体优势在哪里?感谢您的概述,这是一个令人沮丧的问题。。。它并没有回答我的问题,实际上只是产生了新的问题…;-如果我使用identityServer,我将在今年春天等待v3。我从一家以前的公司那里了解到v2的部分内容,还有很多内容需要设置……我已经说过,在您描述的场景中使用Identity Server是一种过火的做法。总之,当您希望在一个位置(SSO)对多个应用程序进行身份验证时,将使用IdentityServer!它还为您提供了细粒度的控制权,可以控制您如何发行代币以及您在这些代币中放置了什么。你似乎并不真正需要。