laravel - 如何使用密码授予流程防止 Laravel Api 中的令牌滥用
问题描述
我在我的 Laravel api 中使用密码授予流程,但我发现生成给用户的令牌可能被滥用。
我有在一个域中运行的 api 和在另一个域中使用它的 web 应用程序。我想确保即使有人从我的应用程序内的 Localstorage 复制令牌,它在我的消费域之外也是无用的。
我发现这个问题的唯一解决方案是使用中间件或在 Api 方法中检查域。有什么安全的方法可以做到这一点吗?我应该使用刚才提到的中间件吗?
解决方案
老实说,我认为没有办法可以防止这种情况发生。
我假设 Web 应用程序正在使用客户端代码来获取您的 API,因此 IP 地址将始终是客户端,因此您不能将 API 限制为特定 IP。
此外,调用域是无用的,因为您可以在邮递员或任何其他 API 发送工具中伪造它。
这是一场你不会轻易获胜的战斗。
我会问用户真正滥用我的 API 的方式是什么。如果他们想使用他们的令牌在您的应用程序内对他们的帐户执行操作,那么这发生在您的应用程序内部还是外部有什么关系?如果他们拥有令牌,他们如何滥用您的平台?如果有滥用它的方法,那么您最好处理允许滥用发生的根本原因,而不是试图限制令牌的使用方式。
推荐阅读
- vb.net - UPGRADE_WARNING:在 VB 中初始化表单时可能会触发事件 TextChanged
- python - 在服务器上安装 postgresql 数据库并在另一个 pc 客户端上运行 gui 应用程序
- jdbc - 从 Azure 数据工厂连接到第三方 JDBC 连接器
- javascript - Webpack 更改文件类型并添加类
- ios - 无法使用 Twilio 可编程聊天接收图像/视频消息的推送通知
- html - 使 safari 和 Firefox 中的 CSS 外观相同
- python - 创建一个循环来读取excel文件 - python
- reactjs - 如何从列表中只选择一项?
- flutter - 在颤动中格式化按钮和嵌套ListView
- clearcase - 明文格式字符串中的新行