<?php require_once $_SERVER['DOCUMENT_ROOT'] . '/inc/prerequisites.inc.php'; if (!isset($_SESSION['mailcow_cc_role'])) { $_SESSION['oauth2_request'] = $_SERVER['REQUEST_URI']; header('Location: /?oauth'); } $request = OAuth2\Request::createFromGlobals(); $response = new OAuth2\Response(); if (!$oauth2_server->validateAuthorizeRequest($request, $response)) { $response->send(); exit(); } if (!isset($_POST['authorized'])): require_once $_SERVER['DOCUMENT_ROOT'] . '/inc/header.inc.php'; ?> <div class="container"> <div class="panel panel-default"> <div class="panel-heading"><?=$lang['oauth2']['authorize_app'];?></div> <div class="panel-body"> <?php if ($_SESSION['mailcow_cc_role'] != 'user'): $request = ''; ?> <p><?=$lang['oauth2']['access_denied'];?></p> <?php else: ?> <p><?=$lang['oauth2']['scope_ask_permission'];?>:</p> <dl class="dl-horizontal"> <dt><?=$lang['oauth2']['profile'];?></dt> <dd><?=$lang['oauth2']['profile_desc'];?></dd> </dl> <form class="form-horizontal" autocapitalize="none" autocorrect="off" role="form" method="post"> <div class="form-group"> <div class="col-sm-10 text-center"> <button class="btn btn-success" name="authorized" type="submit" value="1"><?=$lang['oauth2']['permit'];?></button> <a href="#" class="btn btn-default" onclick="window.history.back()" role="button"><?=$lang['oauth2']['deny'];?></a> <input type="hidden" name="csrf_token" value="<?=$_SESSION['CSRF']['TOKEN'];?>"> </div> </div> </form> <?php endif; ?> </div> </div> </div> <!-- /container --> <?php require_once $_SERVER['DOCUMENT_ROOT'] . '/inc/footer.inc.php'; exit(); endif; // print the authorization code if the user has authorized your client $is_authorized = ($_POST['authorized'] == '1'); $oauth2_server->handleAuthorizeRequest($request, $response, $is_authorized, $_SESSION['mailcow_cc_username']); if ($is_authorized) { unset($_SESSION['oauth2_request']); if ($GLOBALS['OAUTH2_FORGET_SESSION_AFTER_LOGIN'] === true) { session_unset(); session_destroy(); } header('Location: ' . $response->getHttpHeader('Location')); exit; }