and another one

This commit is contained in:
2018-10-15 21:49:12 -05:00
parent f73c09c71b
commit 3108744eb4
5 changed files with 32 additions and 46 deletions

View File

@@ -13,6 +13,8 @@ class AuthAccountService {
* @param \Laravel\Socialite\Two\User $user
*/
public function createOrGetUser(ProviderUser $eve_user) {
//Search for user in the database
$account = AuthAccount::whereProvider('eveonline')->whereProviderUserId($eve_user->getId())->first();
@@ -49,28 +51,9 @@ class AuthAccountService {
$account->save();
return $user;
}
/*
//check if the user already exists in the database
if($existing = User::find($eve_user->character_id)) {
//Check the owner hash and update if necessary
if($existing->character_owner_hash !== $eve_user->character_owner_hash) {
$existing->owner_has = $eve_user->character_owner_hash;
$existing->save();
}
return $existing;
}
if(!eve_user)
return User::forceCreate([
'id' => $eve_user->character_id,
'name' => $eve_user->name,
'owner_hash' => $eve_user->character_owner_hash,
'email' => null,
]);
*/
}
}

View File

@@ -4,6 +4,7 @@ namespace App\Http\Controllers\Auth;
use App\Http\Controllers\Controller;
use Illuminate\Foundation\Auth\AuthenticatesUsers;
use Socialite;
class LoginController extends Controller
{
@@ -41,4 +42,18 @@ class LoginController extends Controller
Auth::logout();
return redirect('/');
}
public function redirectToProvider() {
return Socialite::driver('eveonline')->setScopes(['publicData'])->redirect();
}
public function handleProviderCallback(AuthAccountService $service) {
$ssoUser = Socialite::driver('eveonline')->user();
dd($ssoUser);
$user = $service->createOrGetUser($ssoUser);
auth()->login($user);
return redirect()->to('/dashboard');
}
}

View File

@@ -2,12 +2,18 @@
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Http\Requests;
use App\Http\Controllers\Controller;
use App\AuthAccountService;
use Socialite;
use SocialiteUser;
use App\User;
use App\AuthAccountService;
use App\Http\Requests;
use App\Http\Controllers\Controller;
use DB;
class AuthController extends Controller
{
@@ -28,29 +34,15 @@ class AuthController extends Controller
* @return Response
*/
public function handleProviderCallback(AuthAccountService $service) {
$ssoUser = Socialite::driver('eveonline')->user();
$user = $service->createOrGetUser(Socialite::driver('eveonline')->user());
$user = $service->createOrGetUser($ssoUser);
auth()->login($user);
return redirect()->to('/dashboard');
/*
$eve_data = Socialite::driver('eveonline')->user();
//Get or create the User bound to this login
$user = $this->createOrGetUser($eve_data);
//Auth the user
auth()->login($user);
*/
dd($user);
}
/*
public function loginUser(User $user): bool {
auth()->login($user, true);
return true;
}
*/
}

View File

@@ -27,8 +27,4 @@ class User extends Authenticatable
protected $hidden = [
'password', 'remember_token',
];
public function getCharacterId() {
return $this->character_id;
}
}

View File

@@ -17,8 +17,8 @@ Route::get('/', function () {
Auth::routes();
Route::get('/login', 'AuthController@redirectToProvider');
Route::get('/callback', 'AuthController@handleProviderCallback');
Route::get('/login', 'LoginController@redirectToProvider');
Route::get('/callback', 'LoginController@handleProviderCallback');
Route::get('/dashboard', 'DashboardController@index');
Route::get('/dashboard/addmoon', 'DashboardController@addMoon');