2016-09-04 63 views
2

我在Laravel 5.3中使用默认的auth/registrationLaravel中的注册错误

当我尝试注册新用户,我得到错误:

FatalThrowableError in RegistersUsers.php line 33: 
    Call to undefined method Illuminate\Auth\TokenGuard::login() 

我在配置Laravel做了一些修改:

'defaults' => [ 
     'guard' => 'api', 
     'passwords' => 'users', 
    ], 

所以,在默认情况下我使用的API后卫

+0

在配置文件中,你所做的更改? – Qazi

+0

你可能定义了一个api后卫,因为apis和令牌一起工作以确保身份验证,所以无法登录某人。因此,您的“TokenGuard”可能只是没有登录方法,如我知道的错误 –

回答

2

您正尝试使用的身份验证驱动程序api是TokenBased。这意味着服务器将使用凭据成功进行身份验证,为您的客户端颁发令牌。然后,客户端可以在请求识别自己的同时向服务器呈现此令牌。

如在laravel git中给出的那样,没有任何方法如login()

要使用TokenBased验证,这里的好guide

+0

中所解释的,但是我怎样才能注册新用户?这篇文章没有解释如何做到这一点 – Babaev

+0

@Babaev注册过程不会改变。它将保持不变...向用户提供注册表单并将数据添加到用户表格中..对吗? – jaysingkar

+0

我认为你的数据在数据库中正确插入。但是,如果您在'AuthController'中检查'register'方法,那么在插入数据后必须调用'login'方法。您需要更改以返回令牌。您可以在您的'AuthController'中始终覆盖'postRegister()'方法来执行此操作.. – jaysingkar