Search code examples
phpauthenticationregistrationlaravel-8secret-key

How to generate custom random secret key for users when they register in Laravel 8x?


I do not know how i can generate custom secret key for each user when they register. I do not want to use passport, i just want to generate custom .

Here is my code

    public function register(Request $request)
    {
//      $validated = $request->validate([
//        'username' => 'required',
//        'phonenumber' => 'required|digits:10|unique:users',
//        'password' => 'required|string',
//        'device_serial_number' => 'required'
//      ]);

      $user = User::create([
        'username' => $request->username,
        'phonenumber' => $request->phonenumber,
        'device_serial_number' => $request->device_serial_number,
        'password' => bcrypt($request->password)
      ]);
      if($user)
      {

  //      $token = $user->createToken('Laravel Password Grant Client')->accessToken;
        $user_secret_key = Str::random(60);
        $user->user_secret_key = hash('sha256', $user_secret_key);
        return response()->json(['token' => $token], 200);

      } else{
        return response('error');
      }

Solution

  • $user = User::create([
        'username' => $request->username,
        'phonenumber' => $request->phonenumber,
        'device_serial_number' => $request->device_serial_number,
        'password' => bcrypt($request->password),
         'user_secret_key' => Str::random(60);
      ]);
      if($user){
        $token =  $user->user_secret_key;
        return response()->json(['token' => $token], 200);
      } else{
        return response('error');
      }