gofish gofish - 28 days ago 13
PHP Question

Laravel Subdomain Redirect With Login

I am fairly new to stack overflow so please stick with me here.

I am creating a laravel project that has the following links...

main.dev (This is for login, registration, and help sections for the user)

athlete.main.dev (This is for athletes to be redirected to upon main.dev login)

coach.main.dev (This is for coaches to be redirect to upon main.dev login)

Here is an idea of what the code looks like to redirect the user


switch (User::getGroup()) {
case 'Athlete':
return Redirect::to('http://athlete.main.dev');
case 'Coach':
return Redirect::to('http://coach.main.dev');
}


This works fine and the user is redirected according to their account type, but upon arriving at this subdomain the user is currently forced to log in again.

I have been searching now for about three days trying to find the answer to no avail.

Is it possible to automatically login the user upon arriving at these redirects based off of main.dev's login information? Or how can I share the session data across subdomains?

Thanks for your help,
-Nick

Answer

One way to solve you problem is by sending the username and password to the url you want to redirect and make an Auth::attemp() in the subdomain to.

switch (User::getGroup()) {
            case 'Athlete':
                return Redirect::to('http://athlete.main.dev')->with([
                'username' => $username,
                'password' => $password
                ]);
            case 'Coach':
                return Redirect::to('http://coach.main.dev')->with([
                'username' => $username,
                'password' => $password
                ]);;
       }

In your controller that handles coach.main.dev and athlete.main.dev add this before you make anything else

if(isset($username) && isset($password)){
    Auth::attempt(['username' => $username, 'password' => $password]);
}
Comments