Laravel 4.x 关于扩展身份验证的文档是不是错误?
Posted
技术标签:
【中文标题】Laravel 4.x 关于扩展身份验证的文档是不是错误?【英文标题】:Are Laravel 4.x docs on extending authentication in error?Laravel 4.x 关于扩展身份验证的文档是否错误? 【发布时间】:2014-07-28 08:02:47 【问题描述】:Laravel 4.x 文档声明 Auth::extend() 回调应该是“Return implementation of Illuminate\Auth\UserProviderInterface”:
Auth::extend('riak', function($app)
// Return implementation of Illuminate\Auth\UserProviderInterface
);
然而,许多 web tutorials 在扩展 Laravel 4 身份验证时指出 Auth::extend() 应该返回一个 Illuminate\Auth\Guard 实例,该实例将 UserProviderInterface 实例作为参数:
Auth::extend('example', function($app)
$provider = new \Example\Auth\ExampleUserProvider();
return new \Illuminate\Auth\Guard($provider, $app['session']);
);
我在 Laravel 4.0 应用程序中使用后一种方法,它正在工作。我无法让official documented Laravel 4.x approach 工作。我查看了 Laravel 升级指南,没有提到这方面的任何 API 更改。
Laravel 4.x 文档有错误吗?
【问题讨论】:
【参考方案1】:这已在 Laravel 文档中得到澄清:“传递给 Auth::extend 方法的回调应该返回 Illuminate\Contracts\Auth\Guard 的实现。”
欲了解更多信息,请参阅:Laravel 5.2 Authentication - Adding Custom Guards
【讨论】:
以上是关于Laravel 4.x 关于扩展身份验证的文档是不是错误?的主要内容,如果未能解决你的问题,请参考以下文章
如何检查用户是不是通过 Laravel 上的 cookie 会话进行身份验证?
Laravel sanctum 检查用户是不是在没有重定向的情况下通过身份验证
如何在 Laravel 和 Vue.js 中使用 jwt-auth 检查用户是不是经过身份验证