Исправлена обработка ситуации, когда при использовании старого протокола авторизации на сервере пользователь передавал свой ник в неправильном регистре

This commit is contained in:
ErickSkrauch 2017-10-20 15:19:39 +03:00
parent b8e445b99f
commit 6d4d2177d0
2 changed files with 12 additions and 1 deletions

View File

@ -134,7 +134,7 @@ class JoinForm extends Model {
throw new ForbiddenOperationException('Wrong selected_profile.');
}
if (!$isUuid && $account->username !== $selectedProfile) {
if (!$isUuid && mb_strtolower($account->username) !== mb_strtolower($selectedProfile)) {
Session::error(
"User with access_token = '{$accessToken}' trying to join with identity = '{$selectedProfile}'," .
" but access_token issued to account with username = '{$account->username}'."

View File

@ -30,6 +30,17 @@ class JoinLegacyCest {
$this->expectSuccessResponse($I);
}
public function joinByOauth2TokenAndDifferentLetterCase(AuthserverSteps $I) {
$I->wantTo('join to server by legacy protocol, using legacy authserver access token and different letter case');
[$accessToken] = $I->amAuthenticated();
$this->route->joinLegacy([
'sessionId' => $accessToken,
'user' => 'admin',
'serverId' => Uuid::uuid(),
]);
$this->expectSuccessResponse($I);
}
public function joinByNewSessionFormat(AuthserverSteps $I) {
$I->wantTo('join to server by legacy protocol with new launcher session format, using legacy authserver');
[$accessToken] = $I->amAuthenticated();