OAuth在内部进行身份验证?

时间:2013-11-29 07:43:47

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

我正在构建一个.net MVC Web API,我来到了身份验证部分。 我认为OAuth几乎是一个给定的身份验证选择,但在我读到的任何地方,他们都谈到了使用Facebook,Google或其他第三方帐户登录。这不是我想要的。 我的问题很简单:我可以将OAuth与我自己的数据库用户一起使用,还是在我自己的身份验证之上插入OAuth,然后连接到我自己的数据库用户?

2 个答案:

答案 0 :(得分:1)

OAuth解决了一个网络应用程序试图代表用户 访问其他网络应用程序而无需共享凭据 的问题。

  

我可以将OAuth用于自己的数据库用户吗?

答案是肯定的。

在这种情况下,您是提供者(就像Facebook或谷歌一样)。您的.net MVC Web API充当资源服务器,您必须构建一个Web应用程序作为授权服务器。您的客户端应用程序或其他第三应用程序可以将用户重定向到这些应用程序以执行身份验证和发出访如果您需要向第三方应用程序 提供API而无需共享凭据 ,则应选择构建自己的资源服务器和授权服务器的选项。

如果您的所有应用程序都是内部的,则不应该关注共享凭据,使用普通身份验证或OAuth就可以了。

答案 1 :(得分:0)

如果您使用OAuth表示您无需为用户存储实际凭据。OAuth提供商将负责为您验证用户身份。

是的,您需要在自己的身份验证

之上插入OAuth

用户将被重定向到提供商的站点以进行身份​​验证,您只需存储访问令牌并访问OAuth提供商返回的密码/刷新令牌,具体取决于您使用的是OAuth 1.0/1.0a还是{{1}这些令牌可以用来进一步访问。