首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >restful api身份验证与oauth2的混淆

restful api身份验证与oauth2的混淆
EN

Stack Overflow用户
提问于 2013-04-23 03:13:25
回答 2查看 19K关注 0票数 24

我做了一些关于restful api身份验证的调查。大多数人指出使用Oauth2进行restful api身份验证。我查看了一些资源,特别是这个链接https://developers.google.com/accounts/docs/OAuth2

在我看来,Oauth2是一个第三方应用程序,用于访问谷歌/脸书(或其他数据提供商)中的用户数据。

我们的问题是我们拥有数据,我们不需要访问我们客户的任何第三方数据,我们的客户也不需要访问任何第三方数据。我们希望通过某种身份验证来保护我们的api。

对于我们的案例,哪些方便的技术可用于restful api身份验证?我们将像这样公开我们的api

 https://ourdomain.com/api/<endpoint>

我们的客户可以首先访问网站注册https://ourdomain.com,他们应该能够从我们的网站获得访问apis的clientId和clientKey。我们的客户端应该能够通过某种身份验证进行消费

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-04-23 18:32:57

如果我没理解错的话,你需要的东西和OAuth很相似,除了允许第三方应用程序访问用户的资源之外,你还可以做同样的事情。

在OAuth中,有一个中央系统,通过检查应用程序的凭据+用户的凭据并分发授权令牌来管理身份验证和授权。有多个端点将接受这些授权令牌。

令牌基本上是加密的字符串,其中包含有关用户凭据的信息以及应用程序可能需要的一些其他信息。

您需要的(我相信)是一个类似的身份验证端点,客户端使用其凭据点击并获得令牌。

所以,

i)创建一个注册表/控制台,客户端可以在其中注册并获得其凭证。看看this吧。

ii)定义HTTP端点,其中用户将其凭证交换为访问令牌+刷新令牌。

iii)客户端可以使用访问令牌访问资源端点,以对任何端点进行经过身份验证的调用。

iv)在后端,您需要一个公共服务来验证令牌并从中提取信息。

PS -这只是一个最小的系统,会有很多安全方面的考虑,比如如果一些未经授权的应用程序获得了一些客户端的访问令牌的访问权限。

您可以找到许多有关CSRF攻击、节点、时间戳和其他缓解安全问题的方法的信息。

票数 6
EN

Stack Overflow用户

发布于 2014-10-07 02:37:40

在oAuth 2.0中,有多种类型的授权类型。授权类型只是交换访问令牌的某种凭据的一种方式。通常,oAuth指的是具有授权码授权的第三方使用。这意味着将用户重定向到资源所有者的网站进行身份验证,这将返回一个授权码。

这显然对第一方oAuth的使用没有意义,因为您是资源所有者。oAuth 2.0已经考虑到了这一点,并为此包括了资源所有者密码凭据授予。在这种情况下,您可以在第一方级别用用户名和密码交换访问令牌。

有关更多详细信息,请参阅https://www.rfc-editor.org/rfc/rfc6749#section-4.3

票数 15
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16154901

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档