Geen omschrijving

UserController.php 1.0KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. <?php namespace App\Http\Controllers;
  2. use Illuminate\Http\Request;
  3. use Config;
  4. use Firebase\JWT\JWT;
  5. use App\User;
  6. class UserController extends Controller {
  7. /**
  8. * Generate JSON Web Token.
  9. */
  10. protected function createToken($user)
  11. {
  12. $payload = [
  13. 'sub' => $user->id,
  14. 'iat' => time(),
  15. 'exp' => time() + (2 * 7 * 24 * 60 * 60)
  16. ];
  17. return JWT::encode($payload, Config::get('app.token_secret'));
  18. }
  19. /**
  20. * Get signed in user's profile.
  21. */
  22. public function getUser(Request $request)
  23. {
  24. $user = User::find($request['user']['sub']);
  25. return $user;
  26. }
  27. /**
  28. * Update signed in user's profile.
  29. */
  30. public function updateUser(Request $request)
  31. {
  32. $user = User::find($request['user']['sub']);
  33. $user->displayName = $request->input('displayName');
  34. $user->email = $request->input('email');
  35. $user->save();
  36. $token = $this->createToken($user);
  37. return response()->json(['token' => $token]);
  38. }
  39. }