Web services 如何设计供不受信任的第三方使用的API 背景

Web services 如何设计供不受信任的第三方使用的API 背景,web-services,rest,api-design,Web Services,Rest,Api Design,我需要设计一个WebService REST API。此web服务将从网页和一些移动应用程序(android和iOS)中使用。我会把它们都称为“应用程序”。应用程序将由我们公司以外的第三方开发。移动应用程序需要登录用户来显示内容,因此我更容易处理web服务的内容授权 网页有点棘手,因为即使对于未登录的用户,它也必须提供一些功能(例如:列出最新产品、显示产品详细信息和搜索产品),所以即使对于未登录的用户: 它必须能够从我的web服务请求一些数据(主要是/products和/products/{i

我需要设计一个WebService REST API。此web服务将从网页和一些移动应用程序(android和iOS)中使用。我会把它们都称为“应用程序”。应用程序将由我们公司以外的第三方开发。移动应用程序需要登录用户来显示内容,因此我更容易处理web服务的内容授权

网页有点棘手,因为即使对于未登录的用户,它也必须提供一些功能(例如:列出最新产品、显示产品详细信息和搜索产品),所以即使对于未登录的用户:

  • 它必须能够从我的web服务请求一些数据(主要是/products和/products/{id})
  • 它必须能够使用/搜索端点
真正的问题 我将使用OAuth2来处理授权。在移动应用程序上,这不是问题,在获得授权之前,它们将无法访问任何内容,因此一旦获得授权,所有API都将正常工作

但我完全不知道如何处理与web应用程序的连接

  • 我是否应该保留一些未经授权的URL以允许向未登录的用户发送web内容
  • 我是否应该创建一个具有更高API使用率限制的特殊用户“anonimous”,并告诉Web应用程序在用户登录之前以“anonimous”身份进行授权