我正在使用nodejs为电子商务网站和应用程序创建API 我们有一个 API 路由列表,每个路由都有多个端点。 考虑我正在使用 JWT 等身份验证来访问这些端点,以便只有在身份验证后才能访问所有端点。
但是某些端点(例如产品列表、搜索等)应该无需身份验证即可访问,因为在加载页面时应该显示这些内容。
因此,我对 JWT 中使用“除非”的端点给予例外。
这使得产品列表的 API 端点开放,任何人都可以访问它。
这是否正确? 如果不是,处理这种情况的最佳方法是什么?
前端:
适用于移动应用程序的 Flutter
用于 Web 应用程序的 Reactjs
你有两种方法:
在第一种方法中,您可以做其他事情,生成并存储一些令牌,例如客户端密钥,并将它们提供给您信任的客户端,并创建一个授权系统来检查该人是否向您的端点发出请求,然后将其发送给您,然后您检查如果该客户端密钥属于该人并且他是真正可以访问您的端点(甚至是公共或私有端点)的可信客户端,您应该考虑客户端密钥永远不会改变,在下一步中您可以使用以下方式对用户进行身份验证智威汤逊等
在第二种方法中,您通过仅允许特定的 IP 地址来限制对 API 的访问。