Rest 强制外部应用程序使用API

Rest 强制外部应用程序使用API,rest,api,Rest,Api,我有一个网站,允许经过身份验证的用户提交和编辑数据。我还想提供一个RESTAPI作为收费服务的一部分。 现在的问题是,从理论上讲,非付费用户可以使用我的网站用作API的相同调用进行身份验证,并从其外部应用程序发送数据,因为在浏览器中很容易看到端点数据发送到网站的确切内容和方式 如何保护我的网站不受此类使用的影响,并强制用户使用API进行外部访问?实际上,您无法阻止人们向公共API发出请求。您可以在请求到达时验证用户。因此,解决这个问题的方法不止一种 我将为每个用户的每个会话提供一个令牌,并在后端

我有一个网站,允许经过身份验证的用户提交和编辑数据。我还想提供一个RESTAPI作为收费服务的一部分。 现在的问题是,从理论上讲,非付费用户可以使用我的网站用作API的相同调用进行身份验证,并从其外部应用程序发送数据,因为在浏览器中很容易看到端点数据发送到网站的确切内容和方式


如何保护我的网站不受此类使用的影响,并强制用户使用API进行外部访问?

实际上,您无法阻止人们向公共API发出请求。您可以在请求到达时验证用户。因此,解决这个问题的方法不止一种


我将为每个用户的每个会话提供一个令牌,并在后端验证RESTAPI请求。

使用OAuth2。因此,您将为付费用户提供机密id和密钥,然后他们将使用机密id和密钥请求访问令牌来访问API

阅读有关公钥/私钥加密的信息

了解oAuth


我使用passport在laravel中实现了oAuth2。passport是oAuth2实现,也有其他语言版本。

您可以在API上对单个用户进行身份验证。让他们使用令牌/用户名和密码来访问它。