未定义的索引:使用JWTAuth的密码

时间:2018-02-12 20:10:46

标签: json laravel rest api laravel-5

你好我的密码字段有问题,在laravel中为restfullapi创建一个用户

  public function store(Request $request)
{
  $this->validate($request,[
    'user_names' => 'required||string|max:45',
    'user_lastnames' => 'required|string|max:45',
    'user_email' => 'required|string|email|unique:users,user_email|max:150',
    'user_password' => 'required|string|min:6|confirmed',
    'user_password_confirmation' => 'required|min:6',
    'user_gender' => 'required',
    'user_celphone' => 'required|numeric',
    'user_origin_country' => 'required|string|max:100',
  ]);

  $user_names = $request->input('user_names');
  $user_lastnames = $request->input('user_lastnames');
  $user_email = $request->input('user_email');
  $user_password = $request->input('user_password');
  $user_password_confirmation = $request->input('user_password_confirmation');
  $user_gender = $request->input('user_gender');
  $user_celphone = $request->input('user_celphone');
  $user_origin_country = $request->input('user_origin_country');

  $user = new User([
    'user_names' => $user_names,
    'user_lastnames' => $user_lastnames,
    'user_email' => $user_email,
    'user_password' => bcrypt($user_password),
    'user_gender' => $user_gender,
    'user_celphone' => $user_celphone,
    'user_origin_country' => $user_origin_country
  ]);

  $credentials = [
    'user_email' =>  $user_email,
    'user_password' => $user_password
  ];

  if ($user->save()) {

    $token = null;

    try {
      if (!$token = JWTAuth::attempt($credentials)) {
        return response()->json([
          'error' => 'El email ó la contraseña son incorrectos'
        ],404);
      }
    } catch (JWTAuthException $e) {
      return response()->json([
          'error' => 'failed_to_create_token',
      ],404);
    }

    $user->signin = [
      'href' => 'api/v1/user/signin',
      'method' => 'POST',
      'params' => 'user_email, user_password'
    ];
    $response = [
      'success' => 'Usuario creado exitosamente',
      'Usuario' => $user,
      'token' => $token
    ];
    return response()->json($response, 201);
  }

  $response = [
    'error' => 'Ha ocurrido un error'
  ];
  return response()->json($response,404);

}

我正在用邮递员测试应用程序,他告诉我这个 postman's picture

我已经验证了路由并且它有效,在放置jwt之前我将数据保存在数据库中而没有密码问题,提前感谢

0 个答案:

没有答案