저는 Laravel에서 새로운입니다. 나는 Laravel 5.3에서 여러 인증을 사용하려고 내 auth.php 파일은 다음과 같습니다Laravel 5.3에서 Auth :: attempt가 항상 false를 반환하는 이유는 무엇입니까?
<?php
return [
*/
'defaults' => [
'guard' => 'web',
'passwords' => 'users',
],
'guards' => [
'web' => [
'driver' => 'session',
'provider' => 'users',
],
'api' => [
'driver' => 'token',
'provider' => 'users',
],
'courier' => [
'driver' => 'session',
'provider' => 'couriers',
],
'client' => [
'driver' => 'session',
'provider' => 'clients',
]
],
'providers' => [
'couriers' => [
'driver' => 'eloquent',
'model' => App\Courier::class,
],
'clients' => [
'driver' => 'eloquent',
'model' => App\Client::class,
],
'users' => [
'driver' => 'eloquent',
'model' => App\User::class,
]
],
'passwords' => [
'couriers' => [
'provider' => 'couriers',
'table' => 'password_resets',
'expire' => 60,
],
'clients' => [
'provider' => 'clients',
'table' => 'password_resets',
'expire' => 60,
],
],
];
그럼,이 DB에 클라이언트 또는 택배를 저장할 때, 나는 암호 기능 Hash::make()
을 사용 (암호 bcrypt
사용도 가져). 예를 들어, 내 모델 택배는 다음과 같습니다
<?php
namespace App;
use Illuminate\Foundation\Auth\User as Authenticatable;
class Courier extends Authenticatable
{
[..]
public function setPasswordAttribute($pass){
$this->attributes['password'] = bcrypt($pass);
}
[..]
}
그리고 택배, 내 컨트롤러에 나가있을 때 갱신 :
public function update(Request $request, $id) {
$fieldsCourier = $request->all();
$courier = Courier::find($id);
if(isset($fieldsCourier['password']))
$fieldsCourier['password'] = bcrypt($fieldsCourier['password']);
if($courier->update($fieldsCourier))
$courier = Courier::find($id);
}
을 나는 방법이라고 인증하고 있지만, 항상 false (invalid_credentials)을 반환하는 방법 시도가 . 그럼에도 유효한 자격 증명을 보내십시오 .. 이것은 내 코드입니다 :
public function authenticate(Request $request) {
$credentials = $request->only('email', 'password');
try {
if (auth()->guard('courier')->attempt($credentials)){
$user = Auth::guard('courier')->user();
} else {
return response()->json(['error' => 'invalid_credentials'], 401);
}
} catch (JWTException $e) {
return response()->json(['error' => 'could_not_create_token'], 500);
}
return response()->json(compact('user'));
}
내가 뭘 잘못하고 있는지 모르겠습니다. 뭐 잘못 됐어?