如何在 Laravel 5 中验证 RESTful API?

Posted

技术标签:

【中文标题】如何在 Laravel 5 中验证 RESTful API?【英文标题】:how to authenticate RESTful API in Laravel 5? 【发布时间】:2015-05-03 23:21:42 【问题描述】:

我正在使用 Laravel 5 构建一个 RESTful API,我想将这些 API 用于移动应用程序。

我也见过http://laravel.com/docs/5.0/authentication 但没有得到任何相关示例,请提供示例示例或适当的链接以在 Laravel 5 中验证 RESTful API。

【问题讨论】:

【参考方案1】:

这里使用的概念是中间件: 为了让你开始,把它放在你的 API-Controller 的ctors中:

public function __construct()

    // reqires Authentificataion before access
    $this->middleware('auth.basic');

您的应用应该能够调用类似的资源

http://user:pass@yourapp.com/yourresource/1

【讨论】:

我只想对我的 API 进行一次身份验证或使用身份验证令牌 在这种情况下,您必须编写自己的中间件。 Laravel 只提供了一堆开箱即用的中间件。请参阅 github.com/laravel/laravel/blob/master/app/Http/Kernel.php 自己编写并不难,请参阅 mattstauffer.co/blog/laravel-5.0-middleware-filter-style 或 laravel 文档 因为我正在使用这个结构,所以我现在没有。它还取决于您的“身份验证令牌”。【参考方案2】:

我一直在寻找相同的答案,我发现此链接非常有用,其中包含使用 JWT 的 L5 的详细信息和用法。

JSON Web Token

希望对你也有帮助。

【讨论】:

是否可以为 JWT 添加一种“记住我”功能? Toptal 的精彩文章 - 感谢分享链接。我还发现 jwt.io/introduction 是对 JWT 的一个很好的介绍(不包含特定于 Laravel 的信息)。 现在有 laravel 5.4 版本,有没有其他方便的 API 制作方法?

以上是关于如何在 Laravel 5 中验证 RESTful API?的主要内容,如果未能解决你的问题,请参考以下文章

没有身份验证的 Laravel 5.3 RESTFul API

移动应用程序的 Laravel RESTful API 身份验证

如何使用 Artisan 命令 (PHP) 在 Laravel 5.2 中创建 RESTful 资源控制器

laravel restful api 与 Auth

在 Laravel 5.2 中通过 RESTful 资源控制器使用 jQuery Ajax Post 方法将数据存储在数据库中

如何在 Laravel 5 中验证模型?