mirror of
https://github.com/elyby/accounts.git
synced 2025-05-31 14:11:46 +05:30
Обновлены роуты в соответствие с тем, как они в итоге будут прописаны в документации
В nginx добавлена конфигурация, отвечающая за проксирование сессионных запросов со старого домена Версия nginx обновлена с 1.9 до 1.11 В тестах сессионного сервера больше не используется генерация url
This commit is contained in:
@@ -9,7 +9,7 @@ $params = array_merge(
|
||||
return [
|
||||
'id' => 'accounts-site-api',
|
||||
'basePath' => dirname(__DIR__),
|
||||
'bootstrap' => ['log', 'authserver', 'sessionserver'],
|
||||
'bootstrap' => ['log', 'authserver'],
|
||||
'controllerNamespace' => 'api\controllers',
|
||||
'params' => $params,
|
||||
'components' => [
|
||||
@@ -56,7 +56,7 @@ return [
|
||||
'class' => \api\modules\authserver\Module::class,
|
||||
'baseDomain' => $params['authserverDomain'],
|
||||
],
|
||||
'sessionserver' => [
|
||||
'session' => [
|
||||
'class' => \api\modules\session\Module::class,
|
||||
],
|
||||
],
|
||||
|
@@ -7,4 +7,9 @@ return [
|
||||
'/oauth2/v1/<action>' => 'oauth/<action>',
|
||||
|
||||
'/account/v1/info' => 'identity-info/index',
|
||||
|
||||
'/minecraft/session/join' => 'session/session/join',
|
||||
'/minecraft/session/legacy/join' => 'session/session/join-legacy',
|
||||
'/minecraft/session/hasJoined' => 'session/session/has-joined',
|
||||
'/minecraft/session/legacy/hasJoined' => 'session/session/has-joined-legacy',
|
||||
];
|
||||
|
@@ -4,6 +4,7 @@ namespace api\modules\authserver;
|
||||
use Yii;
|
||||
use yii\base\BootstrapInterface;
|
||||
use yii\base\InvalidConfigException;
|
||||
use yii\web\NotFoundHttpException;
|
||||
|
||||
class Module extends \yii\base\Module implements BootstrapInterface {
|
||||
|
||||
@@ -23,6 +24,16 @@ class Module extends \yii\base\Module implements BootstrapInterface {
|
||||
}
|
||||
}
|
||||
|
||||
public function beforeAction($action) {
|
||||
if (!parent::beforeAction($action)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
$this->checkHost();
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param \yii\base\Application $app the application currently running
|
||||
*/
|
||||
@@ -40,4 +51,17 @@ class Module extends \yii\base\Module implements BootstrapInterface {
|
||||
Yii::info($message, 'legacy-authserver');
|
||||
}
|
||||
|
||||
/**
|
||||
* Поскольку это legacy метод и документации в новой среде для него не будет,
|
||||
* нет смысла выставлять на показ внутренние url, так что ограничиваем доступ
|
||||
* только для заходов по старому домену
|
||||
*
|
||||
* @throws NotFoundHttpException
|
||||
*/
|
||||
protected function checkHost() {
|
||||
if (Yii::$app->request->getHostInfo() !== $this->baseDomain) {
|
||||
throw new NotFoundHttpException();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
@@ -2,24 +2,13 @@
|
||||
namespace api\modules\session;
|
||||
|
||||
use Yii;
|
||||
use yii\base\BootstrapInterface;
|
||||
|
||||
class Module extends \yii\base\Module implements BootstrapInterface {
|
||||
class Module extends \yii\base\Module {
|
||||
|
||||
public $id = 'session';
|
||||
|
||||
public $defaultRoute = 'session';
|
||||
|
||||
/**
|
||||
* @param \yii\base\Application $app the application currently running
|
||||
*/
|
||||
public function bootstrap($app) {
|
||||
$app->getUrlManager()->addRules([
|
||||
// TODO: define normal routes
|
||||
//$this->baseDomain . '/' . $this->id . '/auth/<action>' => $this->id . '/authentication/<action>',
|
||||
], false);
|
||||
}
|
||||
|
||||
public static function info($message) {
|
||||
Yii::info($message, 'session');
|
||||
}
|
||||
|
Reference in New Issue
Block a user