我正在使用Laravel 5.2 Auth系统提供此命令:
php artisan make:auth
虽然这样可以完全正常,但我的目标是使用外部API来执行登录,注册和更改密码,同时仍然可以使用Auth类的核心功能 .
所以以登录为例,我想使用类似的东西
function login(ApiController $api) {
// This function return data or error code and message in JSON
$login = $api->login([ $credentials['email'], $credentials['password']]);
if($login->success)
// login successfully like normal Auth would do
else
// redirect to main page with $login->message
}
顺便说一句,我想将$ login中的字段传递给Auth类,就像我们可以实际执行Auth :: user() - > email给我们发电子邮件一样,我想设置像“数据库字段”这样的值但我的API JSON字段背后
我在互联网上看了一下,发现AuthController内部的一些事情和与ServiceProvider相关的事情,但我不知道如何遵循我的确切需求
2 回答
在这种情况下,添加自定义用户提供程序会有所帮这里不需要使用AuthController . 检查this Laravel Docs page .
您需要创建一个实现Illuminate\Contracts\Auth\UserProvider的新用户提供程序,在AuthServiceProvider中指定它并相应地更新您的auth配置文件 .
以下是框架的默认用户提供程序的链接以供参考:
1)DatabaseUserProvider
2)EloquentUserProvider
我最终编写了自己的Auth系统...
使用session()和Input()