在Web API中使用OAuth进行身份验证

时间:2013-11-15 20:15:13

标签: asp.net authentication asp.net-web-api oauth-2.0 owin

我正在使用ASP.Net MVC5开发一个项目,该项目还包括一个Web API。 API仅供内部使用。我正在使用OWIN库来提供身份验证。

我很难搞清楚如何通过API正确实现身份验证。我计划使用OAuth 2.0,但OAuth的问题是用户需要通过浏览器页面而不是本机登录屏幕登录。所以我想知道是否有可能以某种方式跳过浏览器。

我找到了this示例,它创建了自己的OAuth授权服务器。但它没有显示如何使登录本机化。

3 个答案:

答案 0 :(得分:6)

如果它是高度可信的客户端,则可以使用OAuth2资源所有者密码流。您可以查看VS2013 SPA模板和/或阅读这篇文章:

http://leastprivilege.com/2013/11/13/embedding-a-simple-usernamepassword-authorization-server-in-web-api-v2/

答案 1 :(得分:4)

您可以使用Thinktecture.IdentityServer v2作为轻量级安全令牌服务。

https://github.com/thinktecture/Thinktecture.IdentityServer.v2

答案 2 :(得分:-2)

您需要创建一个WOPI主机,它基本上是一个可以利用browser-based Officeoffice web)的软件解决方案。

创建自定义WOPI主机并将其配置为使用Office Web Apps Server为Office文件提供基于浏览器的文件查看和编辑。

Microsoft MSDN上的好示例