与oauth2安静的api认证混淆

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

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

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

对于我们的案例,我们安静的api认证有哪些方便的技术?我们会暴露我们的api这样的

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

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

如果我理解正确,您需要它类似于OAuth的方式,您做的完全相同的事情减去授予第三方应用程序访问用户的资源。

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

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

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

所以,
i)创建注册表/控制台,客户端可以注册并获取其凭据。看看this
ii)定义HTTP端点,其中用户交换其凭据以进行访问令牌刷新令牌。
iii)客户端可以使用访问令牌触发资源端点,以对任何端点进行身份验证呼叫。
iv)在后端,您需要一个常见的服务来验证令牌并从中提取信息。

PS – 这只是一个最小的系统,会有很多安全考虑,如某些未经授权的应用程序访问某些客户端的访问令牌。
您可以找到有关CSRF攻击,中午,时间戳和其他减轻安全问题的方法的更多信息。

http://stackoverflow.com/questions/16154901/restful-api-authentication-confusion-with-oauth2

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:与oauth2安静的api认证混淆