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 检查用户是不是经过身份验证

当我在 Laravel 5.2 中进行身份验证时,我无法访问关于页面

从Chrome扩展程序访问Google文档

Laravel 5 通过外部 API 对用户进行身份验证