【问题标题】:Securing a single API GET request from within Laravel在 Laravel 中保护单个 API GET 请求
【发布时间】:2019-01-25 08:14:57
【问题描述】:

如果这是一个愚蠢的问题,请提前道歉。

我的情况

我有一个简单的网络应用程序,用户必须先登录才能访问任何其他页面。用户登录后,他会被重定向到仪表板,该仪表板每分钟都会从我的应用程序中向 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 route here });

标签: ajax laravel api


【解决方案1】:

如果您的路线在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 中间件编写的路由

【讨论】:

    猜你喜欢
    • 2015-10-15
    • 2022-01-09
    • 2013-01-29
    • 2020-06-18
    • 2013-03-20
    • 2022-10-17
    • 2015-02-03
    • 1970-01-01
    • 2016-02-08
    相关资源
    最近更新 更多