Я делаю api в laravel. Я использую базу данных, которая уже построена и находится в режиме реального времени. Эта система использует md5 с значениями соли. Я хочу сделать аутентификацию для этой системы. как мне это делать? Мой исходный код:Аутентификация в laravel
public function authenticate(Request $request)
{
$email = $request->input('email');
$password = md5('testpassword' . 'saltvaluehere');
try {
//
// attempt to verify the credentials and create a token for the user
if (!$token = JWTAuth::attempt([
'email' => $email,
'pass' => $password
])
) {
return response()->json(['error' => 'invalid_credentials'], 401);
}
} catch (JWTException $e) {
// something went wrong whilst attempting to encode the token
return response()->json(['error' => 'could_not_create_token'], 500);
}
// all good so return the token
return response()->json(compact('token'));
}
В основной PHP это проверка подлинности выполняется:
$getpass = $mydb->CleanString($_POST['password']);
$getusername = $mydb->CleanString($_POST['username']);
$dbpass = $mydb->md5_decrypt($mydb->getValue("pass","tbl_admin","username = '".$getusername."'"), SECRETPASSWORD);
if($dbpass == $getpass){
return 'success full login';
}
выше код оленья кожа дают одинаковое значение хэш, так что я не в состоянии проверить подлинность в системе.
Отредактировано:
Я получил пароль, который соответствовал с базой данных, но маркер не bieng генерируется.
вот мой код:
public function authenticate(Request $request)
{
$email = $request->input('email');
$password = $request->input('password');
$password = md5($password);
try {
//
// attempt to verify the credentials and create a token for the user
if (!$token = JWTAuth::attempt([
'email' => $email,
'password' => $password
])
){
//return response()->json(compact('token'));
return response()->json(['error' => 'invalid_credentials','_data'=>[$password,$email]], 401);
}
} catch (JWTException $e) {
// something went wrong whilst attempting to encode the token
return response()->json(['error' => 'could_not_create_token'], 500);
}
// all good so return the token
return response()->json(compact('token'));
}
может кто-нибудь сказать мне причину, почему лексема не генерируется и почему он говорил недопустимые credintials. так как он показывает пароль и электронную почту базы данных зашифрованной формы.