Add checkAPIKey($key) function to login.php

pull/17/head
Skylar Ittner 6 years ago
parent b505a74502
commit 7c44b18854

@ -1,7 +1,7 @@
<?php <?php
/** /**
* Authentication and account functions. Connects to a Portal instance. * Authentication and account functions. Connects to an AccountHub instance.
*/ */
/** /**
@ -35,6 +35,33 @@ function checkLoginServer() {
} }
} }
/**
* Checks if the given AccountHub API key is valid by attempting to
* access the API with it.
* @param String $key The API key to check
* @return boolean TRUE if the key is valid, FALSE if invalid or something went wrong
*/
function checkAPIKey($key) {
try {
$client = new GuzzleHttp\Client();
$response = $client
->request('POST', PORTAL_API, [
'form_params' => [
'key' => $key,
'action' => "ping"
]
]);
if ($response->getStatusCode() === 200) {
return true;
}
return false;
} catch (Exception $e) {
return false;
}
}
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
// Account handling // // Account handling //
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
@ -213,7 +240,7 @@ function doLoginUser($username) {
} }
$resp = json_decode($response->getBody(), TRUE); $resp = json_decode($response->getBody(), TRUE);
if ($resp['status'] == "OK") { if ($resp['status'] == "OK") {
$userinfo = $resp['data']; $userinfo = $resp['data'];
$_SESSION['username'] = $username; $_SESSION['username'] = $username;

Loading…
Cancel
Save