我有一个单页应用程序,非/移动html5浏览器从RESTful HTTP API与asp.net web API获取数据。我们使用OWIN自托管在windows服务中运行。
我不需要基于cookie的身份验证。我想对用户进行身份验证,并给他一个基于json的访问令牌,其声明/权限可以在UI中编辑/创建/删除/显示某些东西。
我不需要外部登录提供者。我们的用户将使用用户名和密码进行身份验证,而不是他们的谷歌电子邮件…
现在我问自己,我应该在方向thinktecture和identiyserver,或asp.net身份或…OWIN和ExternalBearer认证,我在这里迷路了。
根据我的信息,你有什么建议吗?IdentityServer适用于您有多个应用程序并希望它们针对单个STS进行身份验证的场景,基本上如果您需要SSO。您描述的场景是通过OAuth在IdentityServer中实现的。也就是说,定义一个希望使用IdentityServer进行身份验证的应用程序,然后创建一个OAuth客户机来获取访问该应用程序所需的访问令牌。如果情况并非如此,那么你最好避免引入第三方组件来完成这项工作的复杂性。我们使用IdentityServer来验证3个不同应用程序的用户,2个spa和一个MVC应用程序。而且,你真的不能把OWIN和ASP分开。在这种情况下。NET标识。OWIN中间件将为您提供令牌,它将使用ASP。. NET Identity作为用户存储库来对用户进行身份验证,因此OWIN只是提供令牌并使用ASP。. NET标识验证用户。