【问题标题】:Using an App Token with Laravel API for extra security使用带有 Laravel API 的 App Token 来获得额外的安全性
【发布时间】:2017-07-24 11:31:24
【问题描述】:

我已经使用 Laravel 构建了一个 RESTful API,它运行良好。

当用户想要创建或更新他们的记录时,需要进行身份验证。

但是,我想使用应用程序令牌添加一个额外的安全级别。

我已将此令牌放在 .env 文件中,并想检查请求是否具有 app_token="uniquestring" 以便我的 API 执行任何操作。

基本上我不关心用户是否有正确的api_token,如果请求没有application_token,那么我希望它返回false。

我有几个控制器,我确信我可以硬编码,但是有没有一个好的方法可以通过创建一个组并设置一个特定的规则来在路由中做到这一点,如果 app_token != {my app token} 然后返回 Request denied 或类似的东西?

非常感谢任何提示。提前致谢!

【问题讨论】:

    标签: php laravel rest environment-variables laravel-5.4


    【解决方案1】:

    是的,你有正确的方法。 Bur 宁愿制作一个中间件并将其应用于您的路由组。

    public function handle($request, Closure $next)
    {
        if ( $request->header('app_token') && $request->header('app_token') == 'uniquestring') {
            return $next($request);
        }
        return response('Unauthorized.', 401);
    }
    

    将其作为中间件添加到您的路由中,假设您的中间件在 kernel.php 中别名为“apptoken”

    Route::group(['middleware' => ['auth:api', 'apptoken']], function(){
        ... 
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-12-03
      • 1970-01-01
      • 2016-01-24
      • 2016-10-21
      • 2020-04-28
      • 1970-01-01
      • 2015-05-14
      • 1970-01-01
      相关资源
      最近更新 更多