我正在使用节点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)中的每个项目。
如何实施。
答案 0 :(得分:0)
Jwt和Oauth用于用户身份验证和授权。在这里,我相信您只希望特定客户可以访问您的API。为此,您可以在npm注册表中使用joi验证器。 npm install joi。 现在为您的应用类型提供架构并使其成为必需的。
答案 1 :(得分:0)
您描述的流程是典型的“client credentials grant”:
客户端凭据(或其他形式的客户端身份验证)可以是 授权范围为
时,用作授权许可 仅限于客户控制下的受保护资源,
....客户凭证用作授权授权
通常当客户代表自己行事时(客户是中) 也是资源所有者) ......
在这个用例中,最终用户不需要登录,只需要客户端ID,这是您的应用程序。