首页 文章

Laravel Auth用于登录和注册的外部数据

提问于
浏览
1

我正在使用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 回答

  • 2

    在这种情况下,添加自定义用户提供程序会有所帮这里不需要使用AuthController . 检查this Laravel Docs page .

    您需要创建一个实现Illuminate\Contracts\Auth\UserProvider的新用户提供程序,在AuthServiceProvider中指定它并相应地更新您的auth配置文件 .

    以下是框架的默认用户提供程序的链接以供参考:

    1)DatabaseUserProvider

    2)EloquentUserProvider

  • 0

    我最终编写了自己的Auth系统...

    使用session()和Input()

相关问题