Allow dev HTTP in the Unity client settings
CI / test (push) Successful in 1m25s
Details
CI / test (push) Successful in 1m25s
Details
This commit is contained in:
parent
d9a090dfde
commit
32d9c31f4a
|
|
@ -78,13 +78,21 @@ namespace Vanguard.Auth
|
||||||
if (!_tokens.HasRefreshToken)
|
if (!_tokens.HasRefreshToken)
|
||||||
throw new ApiException(401, "auth.no-refresh", "Нет refresh-токена.");
|
throw new ApiException(401, "auth.no-refresh", "Нет refresh-токена.");
|
||||||
|
|
||||||
var response = await _api.PostAsync<AuthResponse>(
|
try
|
||||||
"/api/auth/refresh",
|
{
|
||||||
new RefreshRequest { RefreshToken = _tokens.RefreshToken },
|
var response = await _api.PostAsync<AuthResponse>(
|
||||||
authenticated: false);
|
"/api/auth/refresh",
|
||||||
|
new RefreshRequest { RefreshToken = _tokens.RefreshToken },
|
||||||
|
authenticated: false);
|
||||||
|
|
||||||
SaveSession(response);
|
SaveSession(response);
|
||||||
return response;
|
return response;
|
||||||
|
}
|
||||||
|
catch (ApiException exception) when (exception.StatusCode == 401)
|
||||||
|
{
|
||||||
|
ClearSession();
|
||||||
|
throw;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task<MeResponse> RefreshMeAsync()
|
public async Task<MeResponse> RefreshMeAsync()
|
||||||
|
|
|
||||||
|
|
@ -907,7 +907,7 @@ PlayerSettings:
|
||||||
hmiLoadingImage: {fileID: 0}
|
hmiLoadingImage: {fileID: 0}
|
||||||
platformRequiresReadableAssets: 0
|
platformRequiresReadableAssets: 0
|
||||||
virtualTexturingSupportEnabled: 0
|
virtualTexturingSupportEnabled: 0
|
||||||
insecureHttpOption: 0
|
insecureHttpOption: 2
|
||||||
androidVulkanDenyFilterList: []
|
androidVulkanDenyFilterList: []
|
||||||
androidVulkanAllowFilterList: []
|
androidVulkanAllowFilterList: []
|
||||||
androidVulkanDeviceFilterListAsset: {fileID: 0}
|
androidVulkanDeviceFilterListAsset: {fileID: 0}
|
||||||
|
|
|
||||||
|
|
@ -67,9 +67,26 @@ MessagePack-сериализатор и юнион-кадры.
|
||||||
|
|
||||||
## Ограничения каркаса
|
## Ограничения каркаса
|
||||||
|
|
||||||
|
- Для dev-стенда включён HTTP: Project Settings → Player → **Allow downloads
|
||||||
|
over HTTP = Always** (`insecureHttpOption: 2`). Для релиза нужен HTTPS и
|
||||||
|
это значение вернуть в «Not allowed».
|
||||||
- Токены лежат в `PlayerPrefs` — только для разработки; для релиза нужно
|
- Токены лежат в `PlayerPrefs` — только для разработки; для релиза нужно
|
||||||
защищённое хранилище.
|
защищённое хранилище.
|
||||||
- UI собран кодом на uGUI; префабы/UI Toolkit подключим, когда появятся
|
- UI собран кодом на uGUI; префабы/UI Toolkit подключим, когда появятся
|
||||||
макеты. DOTween пока не добавлен, чтобы не тянуть Asset Store-зависимость
|
макеты. DOTween пока не добавлен, чтобы не тянуть Asset Store-зависимость
|
||||||
в первый коммит.
|
в первый коммит.
|
||||||
- Мета-экраны — заглушки: сеть и авторизация настоящие, разделы следующие.
|
- Мета-экраны — заглушки: сеть и авторизация настоящие, разделы следующие.
|
||||||
|
|
||||||
|
## Проверки
|
||||||
|
|
||||||
|
EditMode:
|
||||||
|
|
||||||
|
```powershell
|
||||||
|
& 'C:\Program Files\Unity\Hub\Editor\6000.6.6f1\Editor\Unity.exe' `
|
||||||
|
-batchmode -nographics -projectPath client `
|
||||||
|
-runTests -testPlatform EditMode `
|
||||||
|
-testResults client\TestResults.xml
|
||||||
|
```
|
||||||
|
|
||||||
|
PlayMode — то же с `-testPlatform PlayMode`. Тесты не ходят в сеть:
|
||||||
|
проверяются composition root, создание Canvas и обоих экранов.
|
||||||
|
|
|
||||||
|
|
@ -521,7 +521,8 @@ CI подключён и проходит; серверный блок закр
|
||||||
заглушками разделов;
|
заглушками разделов;
|
||||||
- `Vanguard.Shared.dll` (netstandard2.1) и MessagePack 3.1.12 подключены
|
- `Vanguard.Shared.dll` (netstandard2.1) и MessagePack 3.1.12 подключены
|
||||||
как плагины; `client/README.md` описывает запуск и ограничения;
|
как плагины; `client/README.md` описывает запуск и ограничения;
|
||||||
- EditMode smoke-тест `Vanguard.Tests.Editor` собирает оба экрана.
|
- EditMode и PlayMode smoke-тесты `Vanguard.Tests.Editor` /
|
||||||
|
`Vanguard.Tests.PlayMode` собирают оба экрана и проверяют запуск приложения.
|
||||||
|
|
||||||
Дальше по клиенту:
|
Дальше по клиенту:
|
||||||
|
|
||||||
|
|
@ -576,6 +577,9 @@ CI подключён и проходит; серверный блок закр
|
||||||
|
|
||||||
## 9. Подводные камни
|
## 9. Подводные камни
|
||||||
|
|
||||||
|
- **Клиент: HTTP.** В Unity по умолчанию запрещены незащищённые соединения:
|
||||||
|
для dev-стенда в `client/ProjectSettings/ProjectSettings.asset` стоит
|
||||||
|
`insecureHttpOption: 2` (Always). Для релиза — HTTPS и вернуть запрет.
|
||||||
- **Кодировка.** Не использовать PowerShell `Get-Content`/`Set-Content` для
|
- **Кодировка.** Не использовать PowerShell `Get-Content`/`Set-Content` для
|
||||||
UTF-8 файлов с русским текстом: однажды это уже испортило комментарии.
|
UTF-8 файлов с русским текстом: однажды это уже испортило комментарии.
|
||||||
Правки — только через `edit`/`write`, либо Python с `encoding="utf-8"`.
|
Правки — только через `edit`/`write`, либо Python с `encoding="utf-8"`.
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue