ajax - 在 Laravel 中保护单个 API GET 请求
问题描述
如果这将是一个愚蠢的问题,请提前道歉。
我的情况
我有一个简单的网络应用程序,用户必须先登录才能访问任何其他页面。用户登录后,他会被重定向到仪表板,该仪表板每分钟都会从我的应用程序中向 API 链接发出 axios ajax GET 请求。
所以为了澄清,页面'/'每分钟都会对'/api/example'进行javascript调用。
我的问题
我是 API 的新手,我需要这个链接只能被我的应用程序中的登录用户访问。我错误地将我的时间投入到 Laravel Passport 上,只是意识到它可能有点“矫枉过正”并且完全没有必要,因为我不需要其他应用程序来访问该 API 链接。它只是作为一种数据库调用方法来用数据填充仪表板。
我的问题
由于这只是一个具有单个 API GET url 的简单站点,我如何才能正确保护该链接,以便它只能由登录用户访问?JWT 会是更合适的方法吗?
谢谢你。
解决方案
如果您的路线在,api.php
那么将您的路线写在
Route::middleware('auth:api')->group(function() {
//your protected routes here
});
如果您的路线在 web.php 中,则:
Route::middleware('auth')->group(function() {
//your protected routes here
});
在登录之前,用户将无法访问用auth or auth:api
中间件编写的路由
推荐阅读
- java - JavaFX - 通过按钮编辑树视图节点文本
- mysql - 为什么我从这个 SQL 查询中得到错误的结果?
- java - 计算模型照明的法线导致模型不再渲染
- apache-spark - 2个火花应用程序不能使用相同的组ID从相同的Kafka主题并行消费
- xslt - 将 XSLT 中的字母数字与破折号组合
- xamarin - 如何通过默认系统 pdf 应用程序中的 FileProvider 在 Xamarin.Android 中打开内部创建的 pdf?
- c - 使用带有 openssl 的 libc 时修复动态链接器错误
- excel - ActiveSheet.PasteSpecial Paste:=xlPasteValues 不起作用
- python-3.x - python中的求和列表
- c# - 如何使用 C# 在列有日期的情况下将多行插入 MySql?