Advertisement
vuho

Untitled

Aug 22nd, 2017
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.61 KB | None | 0 0
  1. href="{{ url('auth/linkedin') }}"
  2.  
  3. Route::get('auth/linkedin', 'LinkedInController@redirectToLinkedin');
  4. Route::get('/linkedin/callback', 'LinkedInController@handleLinkedinCallback');
  5.  
  6. <?php
  7.  
  8. namespace AppHttpControllers;
  9.  
  10. use IlluminateHttpRequest;
  11. use AppUser;
  12. use Validator;
  13. use AppHttpControllersController;
  14. use Auth;
  15. use Socialite;
  16. use Exception;
  17.  
  18. class LinkedInController extends Controller {
  19. protected $redirectTo = '/';
  20. //use IlluminateFoundationAuthAuthenticatesUsers;
  21. public function __construct()
  22. {
  23. //$this->middleware('guest', ['except' => 'logout']);
  24. }
  25.  
  26. protected function validator(array $data) {
  27. return Validator::make($data, [
  28. 'name' => 'required|max:255',
  29. 'email' => 'required|email|max:255|unique:users',
  30. 'password' => 'required|confirmed|min:6',
  31. ]);
  32. }
  33.  
  34. protected function create(array $data) {
  35. return User::create([
  36. 'name' => $data['name'],
  37. 'email' => $data['email'],
  38. 'password' => bcrypt($data['password']),
  39. ]);
  40. }
  41.  
  42. public function redirectToLinkedin() {
  43. return Socialite::driver('linkedin')->redirect();
  44. }
  45.  
  46. public function handleLinkedinCallback() {
  47. try {
  48. $user = Socialite::driver('linkedin')->user();
  49. $create['name'] = $user->name;
  50. $create['email'] = $user->email;
  51. $create['linkedin_id'] = $user->id;
  52.  
  53. $userModel = new User;
  54. $createdUser = $userModel->addNew($create);
  55. Auth::loginUsingId($createdUser->id);
  56. return redirect('/index');
  57. } catch (Exception $e) {
  58. return redirect('auth/linkedin');
  59. }
  60. }
  61. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement