En bref, je reçoit l'erreur suivante:Lumen: JWT Authentification avec aucune table des utilisateurs
{
"message": "Undefined index: password",
"status_code": 500
}
Un fond liitle:
J'ai une table users
, et une table pincodes
, Le tableau users
ont deux colonnes mobile_number
, et status
, j'envoie des sms au numéro de téléphone mobile dans la table des utilisateurs, Sms ont un code secret puis je sauvegarde ce code avec le user_id
dans pincodes
tableau. Donc l'authentification s'appliquera sur pincodes
, Où j'ai user_id
et code
pour vérifier que l'utilisateur est authentique ou non. J'utilise le cadre micro de lumen, avec l'authentification JWT library. J'ai donc changé mon modèle Pincode
en modèle identique au modèle User
.
namespace App;
use Illuminate\Auth\Authenticatable;
use Illuminate\Contracts\Auth\Access\Authorizable as AuthorizableContract;
use Illuminate\Contracts\Auth\Authenticatable as AuthenticatableContract;
use Illuminate\Database\Eloquent\Model;
use Laravel\Lumen\Auth\Authorizable;
class Pincode extends Model implements
AuthenticatableContract,
AuthorizableContract {
use Authenticatable, Authorizable;
protected $table = 'pincodes';
public function user() {
return $this->belongsTo('App\User');
}
}
verify type de requête de la méthode est la poste (ci-dessous), et les params sont user_id
et code
. Ce que je donne correct.
Et la méthode de vérification où le jeton est censé générer:
public function verify(Request $request) {
$uid = $request->get('uid');
$pinCode = $request->get('code');
$findPinCode = \App\Pincode::where('uid', $uid)->where('code', $pinCode)->first();
if (!$findPinCode) {
return response()->json([
'message' => 'No pin Code found',
'code' => 404,
]);
}
$findPinCode->status = 'v';
$findPinCode->dateVerify = Carbon::now();
$findPinCode->save();
try {
$this->validatePostLoginRequest($request);
} catch (HttpResponseException $e) {
return $this->onBadRequest();
}
try {
if (!$token = JWTAuth::attempt(
$this->getCredentials($request)
)) {
return 'asdasd';
return $this->onUnauthorized();
}
} catch (JWTException $e) {
return $this->onJwtGenerationError();
}
I reçoit l'erreur suivante:
{
"message": "Undefined index: password",
"status_code": 500
}