friendship ended with social-app. php is my new best friend

fiddle with getting the user info

Changed files
+15 -16
+15 -16
index.php
··· 68 68 Flight::set('frontpageFeed', FRONTPAGE_FEED); 69 69 Flight::set('defaultRelay', DEFAULT_RELAY); 70 70 Flight::set('userAuth', array_key_exists('sbs_'.SITE_DOMAIN, $_SESSION) ? $_SESSION['sbs_'.SITE_DOMAIN] : null); 71 + Flight::set('userPds', array_key_exists('sbs_'.SITE_DOMAIN.'_pds', $_SESSION) ? $_SESSION['sbs_'.SITE_DOMAIN.'_pds'] : null); 72 + Flight::set('userInfo', array_key_exists('sbs_'.SITE_DOMAIN.'_userinfo', $_SESSION) ? $_SESSION['sbs_'.SITE_DOMAIN.'_userinfo'] : null); 71 73 Flight::set('flight.log_errors', false); 72 74 Flight::set('flight.handle_errors', false); 73 75 Flight::set('flight.content_length', false); ··· 178 180 }); 179 181 180 182 Flight::route('/login', function(): void { 181 - if (!array_key_exists('username', $_GET)) { 182 - $latte = new Latte\Engine; 183 - $latte->render('./templates/login.latte', array_merge(Flight::get('standardParams'), [ 184 - 'mainClass' => 'form', 185 - 'ogtitle' => SITE_TITLE." | login", 186 - 'ogdesc' => SITE_DESC, 187 - 'ogimage' => '', 188 - 'ogurl' => 'https://'.SITE_DOMAIN.'/login' 189 - ])); 190 - die(1); 191 - } 192 183 $username = $_GET['username']; 193 184 $bskyToucher = new BskyToucher(); 194 185 $userInfo = $bskyToucher->getUserInfo($username); ··· 231 222 $provider = new BskyProvider($options, $client, $httpFactory, $httpFactory, $httpFactory); 232 223 $provider->setPds($pds); 233 224 $name = $provider->getName(); 234 - 235 - echo 'get access token:'; 236 - print_r($storage->hasAccessToken($name)); 237 - 238 225 if (isset($_GET['login']) && $_GET['login'] === $name) { 239 226 $auth_url = $provider->getAuthorizationUrl([ 240 227 'client_assertion_type' => 'urn:ietf:params:oauth:client-assertion-type:jwt-bearer', ··· 242 229 ]); 243 230 header('Location: '.$auth_url); 244 231 die(1); 245 - } else if (isset($_GET['code'])) { 232 + } else if (isset($_GET['code'], $_GET['iss'])) { 246 233 $storage->storeAccessToken($_GET['code'], $name); 234 + $_SESSION['sbs_'.SITE_DOMAIN.'_pds'] = $_GET['iss']; 235 + $_SESSION['sbs_'.SITE_DOMAIN.'_userinfo'] = $bskyToucher->getUserInfo() 247 236 header('Location: https://'.SITE_DOMAIN); 248 237 die(1); 249 238 } else if (isset($_GET['error'])) { 239 + die(1); 240 + } else { 241 + $latte = new Latte\Engine; 242 + $latte->render('./templates/login.latte', array_merge(Flight::get('standardParams'), [ 243 + 'mainClass' => 'form', 244 + 'ogtitle' => SITE_TITLE." | login", 245 + 'ogdesc' => SITE_DESC, 246 + 'ogimage' => '', 247 + 'ogurl' => 'https://'.SITE_DOMAIN.'/login' 248 + ])); 250 249 die(1); 251 250 } 252 251 });