使用OAuth2.0授权rest api

时间:2018-02-19 20:12:41

标签: node.js express oauth-2.0 authorization jwt

我正在使用节点js和表达js开发REST API。 例如,我的RESTful API端点如下

/api/v1/books/:id
/api/v1/books

我想仅为特定应用程序(web,android或ios)授权端点。

**应用程序的用户可能会或可能不会在应用程序中进行身份验证。

ex: www.bookstore.com
bookstore android/ios app

即。只有这些应用程序才能访问这些端点。 如何使用OAuth 2.0和JWT

实现此目的

例如,我们可以在不提供登录凭据的情况下查看amazon(web / android / ios)中的每个项目。

如何实施。

2 个答案:

答案 0 :(得分:0)

Jwt和Oauth用于用户身份验证和授权。在这里,我相信您只希望特定客户可以访问您的API。为此,您可以在npm注册表中使用joi验证器。 npm install joi。 现在为您的应用类型提供架构并使其成为必需的。

答案 1 :(得分:0)

您描述的流程是典型的“client credentials grant”:

  

客户端凭据(或其他形式的客户端身份验证)可以是   授权范围为
时,用作授权许可   仅限于客户控制下的受保护资源,
  ....客户凭证用作授权授权
  通常当客户代表自己行事时(客户是中)   也是资源所有者) ......

在这个用例中,最终用户不需要登录,只需要客户端ID,这是您的应用程序。