| Matthias Andreas Benkard | b382b10 | 2021-01-02 15:32:21 +0100 | [diff] [blame] | 1 | <?php
 | 
 | 2 | require_once $_SERVER['DOCUMENT_ROOT'] . '/inc/prerequisites.inc.php';
 | 
 | 3 | 
 | 
 | 4 | if (!$oauth2_server->verifyResourceRequest(OAuth2\Request::createFromGlobals())) {
 | 
 | 5 |   $oauth2_server->getResponse()->send();
 | 
 | 6 |   die;
 | 
 | 7 | }
 | 
 | 8 | $token = $oauth2_server->getAccessTokenData(OAuth2\Request::createFromGlobals());
 | 
 | 9 | $stmt = $pdo->prepare("SELECT * FROM `mailbox` WHERE `username` = :username AND `active` = '1'");
 | 
 | 10 | $stmt->execute(array(':username' => $token['user_id']));
 | 
 | 11 | $mailbox = $stmt->fetch(PDO::FETCH_ASSOC);
 | 
 | 12 | if (!empty($mailbox)) {
 | 
 | 13 |   if ($token['scope'] == 'profile') {
 | 
 | 14 |     header('Content-Type: application/json');
 | 
 | 15 |     echo json_encode(array(
 | 
 | 16 |       'success' => true,
 | 
 | 17 |       'username' => $token['user_id'],
 | 
 | 18 |       'identifier' => $token['user_id'],
 | 
 | 19 |       'email' => (!empty($mailbox['username']) ? $mailbox['username'] : ''),
 | 
 | 20 |       'full_name' => (!empty($mailbox['name']) ? $mailbox['name'] : 'mailcow administrative user'),
 | 
 | 21 |       'displayName' => (!empty($mailbox['name']) ? $mailbox['name'] : 'mailcow administrative user'),
 | 
 | 22 |       'created' => (!empty($mailbox['created']) ? $mailbox['created'] : ''),
 | 
 | 23 |       'modified' => (!empty($mailbox['modified']) ? $mailbox['modified'] : ''),
 | 
 | 24 |       'active' => (!empty($mailbox['active']) ? $mailbox['active'] : ''),
 | 
 | 25 |     ));
 | 
 | 26 |     exit;
 | 
 | 27 |   }
 | 
 | 28 | }
 | 
 | 29 | echo json_encode(array(
 | 
 | 30 |   'success' => false
 | 
 | 31 | ));
 |