Kurz gesagt, ich die folgenden Fehlermeldung:Lumen: JWT Authentifizierung mit keiner Benutzer-Tabelle
{
"message": "Undefined index: password",
"status_code": 500
}
A liitle Hintergrund:
Ich habe einen users
Tisch und ein pincodes
Tisch, Die users
Tabelle haben zwei Spalten mobile_number
und status
, ich sende SMS an Handynummer in Benutzer Tabelle, Sms haben einen geheimen Code, dann speichert ich diesen Code zusammen mit der user_id
in pincodes
Tabelle.
So wird die Authentifizierung gelten auf pincodes
, wo ich habe user_id
und die code
, um zu überprüfen, dass der Benutzer authentisch ist oder nicht. Ich benutze Lumen Mikro-Rahmen, mit JWT Authentifizierung library. So änderte ich mein Pincode
Modell zum selben wie User
Modell. Die
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');
}
}
Prüfungstyp Methode Anfrage senden (siehe unten) und die params sind user_id
und code
. Was ich richtig mache.
Und das Verifikationsverfahren, bei dem das Token generieren soll:
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();
}
ich folgende Fehlermeldung erhält:
{
"message": "Undefined index: password",
"status_code": 500
}