Bonsai
Π€Π°ΠΌΠΈΠ»ΡΠ½ΡΠΉ Π²ΠΈΠΊΠΈ-Π΄Π²ΠΈΠΆΠΎΠΊ ΠΈ ΡΠΎΡΠΎΠ°Π»ΡΠ±ΠΎΠΌ.
ΠΠ΅ΠΌΠΎ: ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°ΡΡ Π² Π΄Π΅ΠΉΡΡΠ²ΠΈΠΈ
ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ
- Π‘ΡΡΠ°Π½ΠΈΡΡ Ρ ΡΠ°Π·ΠΌΠ΅ΡΠΊΠΎΠΉ Markdown
- ΠΠ΅Π΄ΠΈΠ°-ΡΠ°ΠΉΠ»Ρ: ΡΠΎΡΠΎ, Π²ΠΈΠ΄Π΅ΠΎ, ΠΏΠ»Π°Π½ΠΈΡΡΠ΅ΡΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΎΠ² PDF
- ΠΡΠΌΠ΅ΡΠΊΠΈ Π»ΡΠ΄Π΅ΠΉ Π½Π° ΡΠΎΡΠΎ
- Π ΠΎΠ΄ΡΡΠ²Π΅Π½Π½ΡΠ΅ ΡΠ²ΡΠ·ΠΈ (Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ°ΠΌΠΈ ΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌ Π²ΡΠ²ΠΎΠ΄ΠΎΠΌ)
- Π€Π°ΠΊΡΡ (Π΄Π°ΡΠ° ΡΠΎΠΆΠ΄Π΅Π½ΠΈΡ, ΠΏΠΎΠ», Π³ΡΡΠΏΠΏΠ° ΠΊΡΠΎΠ²ΠΈ, Π²Π»Π°Π΄Π΅Π½ΠΈΠ΅ ΡΠ·ΡΠΊΠ°ΠΌΠΈ, Ρ ΠΎΠ±Π±ΠΈ, ΠΈ ΡΠ°ΠΊ Π΄Π°Π»Π΅Π΅)
- ΠΠΎΠ½ΡΡΠΎΠ»Ρ Π΄ΠΎΡΡΡΠΏΠ° ΠΏΠΎ ΡΠΎΠ»ΡΠΌ: Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡ, ΡΠ΅Π΄Π°ΠΊΡΠΎΡ, ΡΠΈΡΠ°ΡΠ΅Π»Ρ, Π³ΠΎΡΡΡ
- ΠΡΡΠΎΡΠΈΡ ΠΏΡΠ°Π²ΠΎΠΊ: Π΄Π»Ρ Π»ΡΠ±ΠΎΠΉ ΡΡΡΠ°Π½ΠΈΡΡ ΠΈΠ»ΠΈ ΠΌΠ΅Π΄ΠΈΠ°-ΡΠ°ΠΉΠ»Π° Ρ ΡΠ°Π½ΠΈΡΡΡ ΠΈΡΡΠΎΡΠΈΡ Ρ diff'Π°ΠΌΠΈ ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΡ ΠΎΡΠΊΠ°ΡΠ° ΠΊ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΉ Π²Π΅ΡΡΠΈΠΈ
Π‘ΠΊΡΠΈΠ½ΡΠΎΡΡ
ΠΡΠ±Π»ΠΈΡΠ½ΡΠ΅ ΡΡΡΠ°Π½ΠΈΡΡ:
ΠΠ°Π½Π΅Π»Ρ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠ°:
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Ρ ΠΏΠΎΠΌΠΎΡΡΡ Docker
-
Π‘ΠΊΠ°ΡΠ°ΠΉΡΠ΅ ΡΠ°ΠΉΠ» docker-compose.
-
ΠΠΏΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎ:
ΠΠ°ΡΡΡΠΎΠΉΡΠ΅ Π΄ΠΎΡΡΡΠΏ ΠΏΠΎ HTTPS ΠΈ Π²Π½Π΅ΡΠ½ΡΡ Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΡ Π΄Π»Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠΉ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ Π²Π°ΡΠΈΡ Π΄Π°Π½Π½ΡΡ . ΠΡΠΎ ΡΡΡΠ΄ΠΎΠ΅ΠΌΠΊΠΈΠΉ ΡΠ°Π³, ΠΏΠΎΡΡΠΎΠΌΡ Π΅ΡΠ»ΠΈ Π²Ρ ΠΏΡΠΎΡΡΠΎ Ρ ΠΎΡΠΈΡΠ΅ ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°ΡΡ Bonsai ΡΠ²ΠΎΠΈΠΌΠΈ ΡΡΠΊΠ°ΠΌΠΈ - Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΠΏΡΡΡΠΈΡΡ ΠΈΠ»ΠΈ ΠΎΡΠ»ΠΎΠΆΠΈΡΡ.
Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΠΈ Google (ΠΈΠ»ΠΈ Yandex, ΠΠΊΠΎΠ½ΡΠ°ΠΊΡΠ΅).
ΠΡΡΠ΅Π΄Π°ΠΊΡΠΈΡΡΠΉΡΠ΅ ΡΠ°ΠΉΠ»
docker-compose.yml
:- ΠΠΏΠΈΡΠΈΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ Π΄Π»Ρ Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΠΈ Google Π² ΠΏΠΎΠ»Ρ
Auth__Google__ClientId
ΠΈAuth__Google__ClientSecret
- ΠΠ°Π΄Π°ΠΉΡΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΡ
Auth__AllowPasswordAuth=false
Π΅ΡΠ»ΠΈ Ρ ΠΎΡΠΈΡΠ΅ ΠΎΡΠΊΠ»ΡΡΠΈΡΡ ΠΌΠ΅Π½Π΅Π΅ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΡΡ Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΡ ΠΏΠΎ ΠΏΠ°ΡΠΎΠ»Ρ - ΠΠ°ΠΌΠ΅Π½ΠΈΡΠ΅ Π·Π°Π³Π»ΡΡΠΊΡ
@@YOUR_EMAIL@@
Π½Π° ΡΠ²ΠΎΠΉ Π°Π΄ΡΠ΅Ρ email (Π΄Π»Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ HTTPS-ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠ° LetsEncrypt) - ΠΠ°ΠΌΠ΅Π½ΠΈΡΠ΅ Π·Π°Π³Π»ΡΡΠΊΡ
@@DOMAIN@@
Π½Π° Π΄ΠΎΠΌΠ΅Π½Π½ΠΎΠ΅ ΠΈΠΌΡ (Π΅ΡΠ»ΠΈ Ρ Π²Π°Ρ ΡΠΎΠ»ΡΠΊΠΎ IP-Π°Π΄ΡΠ΅Ρ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ nip.io, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ192.168.1.1.nip.io
) - Π Π°Π·ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠΈΡΡΠΉΡΠ΅ Π΄Π²Π΅ ΡΡΡΠΎΠΊΠΈ Ρ
Host(`@@DOMAIN@@`)
- ΠΠ°ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠΈΡΡΠΉΡΠ΅ Π΄Π²Π΅ ΡΡΡΠΎΠΊΠΈ Ρ
PathPrefix(`/`)
- ΠΠΏΠΈΡΠΈΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ Π΄Π»Ρ Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΠΈ Google Π² ΠΏΠΎΠ»Ρ
-
ΠΠ°ΠΏΡΡΡΠΈΡΠ΅ Π²ΡΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ
docker compose
:docker-compose up -d
-
ΠΠΎΡΠ»Π΅ ΡΡΠ°ΡΡΠ° Bonsai Π±ΡΠ΄Π΅Ρ Π΄ΠΎΡΡΡΠΏΠ΅Π½ Π½Π° ΠΏΠΎΡΡΠ°Ρ 80 ΠΈ 443.
Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° (Π½Π° Windows)
ΠΠ»Ρ ΡΡΠ°ΡΡΠΈΡ Π² ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ:
- .NET 7: ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΡΠ°Π½ΡΠ°ΠΉΠΌ Π΄Π»Ρ Bonsai
- Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ NodeJS 14
- Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ PostgreSQL server 9.6
- Π‘ΠΊΠ°ΡΠ°ΠΉΡΠ΅ shared-ΡΠ±ΠΎΡΠΊΡ ffmpeg Π΄Π»Ρ Π²Π°ΡΠ΅ΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ ΠΈ ΠΈΠ·Π²Π»Π΅ΠΊΠΈΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ Π² ΠΏΠ°ΠΏΠΊΡ
External/ffmpeg
Π² ΠΊΠΎΡΠ½Π΅ ΠΏΡΠΎΠ΅ΠΊΡΠ° (Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠ΅ ΡΠ°ΠΉΠ»Ρffmpeg
ΠΈffprobe
). - Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΡΠ°ΠΉΠ»
appsettings.Development.json
, ΠΏΡΠΎΠΏΠΈΡΠΈΡΠ΅ ΡΡΡΠΎΠΊΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΊ ΠΠ:
{
"ConnectionStrings": {
"Database": "Server=127.0.0.1;Port=5432;Database=bonsai;User Id=<login>;Password=<password>;Persist Security Info=true"
},
"Auth": {
"AllowPasswordAuth": true
}
}
-
ΠΠΏΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎ, Π½ΠΎ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΠΌΠΎ:
Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΠΈ Google (ΠΈΠ»ΠΈ Yandex, ΠΠΊΠΎΠ½ΡΠ°ΠΊΡΠ΅).
ΠΠΏΠΈΡΠΈΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ Π΄Π»Ρ Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΠΈ Π² ΡΠ°ΠΉΠ»
appsettings.Development.json
ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎAllowPasswordAuth
Π² Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅false
:{ "Auth": { "AllowPasswordAuth": false, "Google": { "ClientId": "<...>", "ClientSecret": "<...>" }, "Yandex": { "ClientId": "<...>", "ClientSecret": "<...>" }, "Vkontakte": { "ClientId": "<...>", "ClientSecret": "<...>" } } }
-
Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ :
dotnet ef database update
-
ΠΠ°ΠΏΡΡΡΠΈΡΠ΅ ΡΠ±ΠΎΡΠΊΡ ΡΡΠΈΠ»Π΅ΠΉ ΠΈ ΡΠΊΡΠΈΠΏΡΠΎΠ²:
npm install npm run build
-
ΠΠ°ΠΏΡΡΡΠΈΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ (ΠΈΠ· Visual Studio ΠΈΠ»ΠΈ ΡΠ΅ΡΠ΅Π·
dotnet run
).
ΠΠ΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ
Π Π΅Π·Π΅ΡΠ²Π½ΡΠ΅ ΠΊΠΎΠΏΠΈΠΈ Π΄Π°Π½Π½ΡΡ
ΠΡΠ»ΠΈ Π²Π°ΠΌ ΡΠ΅Π½Π½Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ, ΠΊΠΎΡΠΎΡΡΡ Π²Ρ Π·Π°Π½ΠΎΡΠΈΡΠ΅ Π² Bonsai, ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΠΠ‘Π’Π ΠΠΠ’Π Π ΠΠΠΠ ΠΠΠΠ ΠΠΠΠΠ ΠΠΠΠΠΠ.
ΠΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π΄Π°Π½Π½ΡΠ΅:
- ΠΠ°Π·Ρ Π΄Π°Π½Π½ΡΡ (Π΄Π΅ΡΡΡΠΊΠΈ ΠΌΠ΅Π³Π°Π±Π°ΠΉΡ)
- ΠΠ°Π³ΡΡΠΆΠ΅Π½Π½ΡΠ΅ ΠΌΠ΅Π΄ΠΈΠ°-ΡΠ°ΠΉΠ»Ρ Π² ΠΏΠ°ΠΏΠΊΠ΅
wwwroot/media
(ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π³ΠΈΠ³Π°Π±Π°ΠΉΡΡ)
Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΎΠ², ΠΏΠ»Π°ΡΠ½ΡΡ ΠΈ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΡΡ : Π·Π°Π³ΡΡΠ·ΠΊΠ° Π² ΠΎΠ±Π»Π°ΠΊΠΎ, ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ Π½ΠΎΡΠΈΡΠ΅Π»ΠΈ ΠΈ Ρ.Π΄. ΠΡΠ±ΠΎΡ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠΌΠ΅ΡΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄Π°, Ρ ΡΡΠ΅ΡΠΎΠΌ Π²Π°ΡΠ΅Π³ΠΎ Π±ΡΠ΄ΠΆΠ΅ΡΠ° ΠΈ ΠΎΠ±ΡΠ΅ΠΌΠ° Π΄Π°Π½Π½ΡΡ , ΠΎΡΡΠ°Π΅ΡΡΡ Π·Π° Π²Π°ΠΌΠΈ.
Π‘ΠΏΠΎΡΠΎΠ±Ρ Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΠΈ
Bonsai ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ 2 ΠΌΠ΅ΡΠΎΠ΄Π° Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΠΈ: OAuth Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π²Π½Π΅ΡΠ½ΠΈΡ ΡΠ°ΠΉΡΠΎΠ² ΠΈ Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΡ ΠΏΠΎ ΠΏΠ°ΡΠΎΠ»Ρ.
OAuth ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΡΠ΅Π΄ΠΏΠΎΡΡΠΈΡΠ΅Π»ΡΠ½ΡΠΌ: ΠΎΠ½ ΠΏΡΠΎΡΠ΅ Π΄Π»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ, Π±ΠΎΠ»Π΅Π΅ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΡΠΉ ΠΈ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΡΠΉ. ΠΡΠ»ΠΈ ΠΌΠΎΠΆΠ΅ΡΠ΅, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ Π΅Π³ΠΎ! ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π²Π°ΠΌ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΡΠΎΠ·Π΄Π°ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΠΈ Π½Π° ΡΠ°ΠΉΡΠ΅ Google, ΠΠΠΎΠ½ΡΠ°ΠΊΡΠ΅ ΠΈΠ»ΠΈ Π² Π―Π½Π΄Π΅ΠΊΡΠ΅, ΠΊΠ°ΠΊ Π½Π°ΠΏΠΈΡΠ°Π½ΠΎ Π² ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ. ΠΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΠΎΠ½Π½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ - ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ ΡΠΌΠΎΠ³ΡΡ Π²ΡΠ±ΠΈΡΠ°ΡΡ ΠΈΠ· Π½ΠΈΡ ΡΠΎ, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΈΠΌ Π±ΠΎΠ»ΡΡΠ΅ ΠΏΠΎ Π΄ΡΡΠ΅.
Π’Π°ΠΊΠΆΠ΅ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΎΠ·Π΄Π°ΡΡ ΡΡΠ΅ΡΠ½ΡΡ Π·Π°ΠΏΠΈΡΡ Ρ Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΠ΅ΠΉ ΠΏΠΎ Π»ΠΎΠ³ΠΈΠ½Ρ ΠΈ ΠΏΠ°ΡΠΎΠ»Ρ. ΠΠ½Π° ΠΏΡΠΈΠ³ΠΎΠ΄ΠΈΡΡΡ Π² Π΄Π²ΡΡ ΡΠ»ΡΡΠ°ΡΡ :
- ΠΡΡΡΡΠΎ ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°ΡΡ Bonsai Π² Π΄Π΅ΠΉΡΡΠ²ΠΈΠΈ (ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π±Π΅Π· ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π±ΡΡΡΡΠ΅Π΅)
- ΠΠ°ΡΡ Π΄ΠΎΡΡΡΠΏ ΡΠΎΠ΄ΡΡΠ²Π΅Π½Π½ΠΈΠΊΠ°ΠΌ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ Π·Π°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π½Ρ Π² ΡΠΎΡΡΠ΅ΡΡΡ
ΠΠ΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°ΠΊΡΠΎΠ² ΠΎΠ± Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡΠΎΠΈΡ ΠΈΠΌΠ΅ΡΡ Π² Π²ΠΈΠ΄Ρ:
- Π£ ΠΎΠ΄Π½ΠΎΠΉ ΡΡΠ΅ΡΠ½ΠΎΠΉ Π·Π°ΠΏΠΈΡΠΈ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΡΠΏΠΎΡΠΎΠ± Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΠΈ: ΠΈΠ»ΠΈ ΠΏΠ°ΡΠΎΠ»Ρ, ΠΈΠ»ΠΈ Google, ΠΈΠ»ΠΈ ΠΠΊΠΎΠ½ΡΠ°ΠΊΡΠ΅, ΠΈ Ρ.Π΄.
- ΠΠΎΡΠ»Π΅ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΡΠ΅ΡΠ½ΠΎΠΉ Π·Π°ΠΏΠΈΡΠΈ ΠΏΠΎΠΌΠ΅Π½ΡΡΡ ΡΠΈΠΏ Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΠΈ Π½Π΅Π»ΡΠ·Ρ.
- Π£ΡΠ΅ΡΠ½ΡΠ΅ Π·Π°ΠΏΠΈΡΠΈ Ρ Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΠ΅ΠΉ ΠΏΠΎ ΠΏΠ°ΡΠΎΠ»Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π±Π»ΠΎΠΊΠΈΡΡΡΡΡΡ, Π΅ΡΠ»ΠΈ ΠΏΠ°ΡΠΎΠ»Ρ Π±ΡΠ» Π²Π²Π΅Π΄Π΅Π½ Π½Π΅Π²Π΅ΡΠ½ΠΎ ΡΠ»ΠΈΡΠΊΠΎΠΌ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ°Π· ΠΏΠΎΠ΄ΡΡΠ΄.
- ΠΠ°ΡΠΎΠ»Ρ ΠΌΠΎΠΆΠ΅Ρ ΡΠΌΠ΅Π½ΠΈΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡ Π²ΡΡΡΠ½ΡΡ. ΠΡΠ»ΠΈ Ρ Π²Π°Ρ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄Π½Π° ΡΡΠ΅ΡΠ½Π°Ρ Π·Π°ΠΏΠΈΡΡ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠ° ΠΈ Π²Ρ Π·Π°Π±ΡΠ»ΠΈ ΠΎΡ Π½Π΅Π΅ ΠΏΠ°ΡΠΎΠ»Ρ - Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π΄ΠΎΡΡΡΠΏ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ»ΡΠΊΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ°Π½ΠΈΠΏΡΠ»ΡΡΠΈΠΉ Ρ Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½ΡΡ !
ΠΠ²ΡΠΎΡΠΈΠ·Π°ΡΠΈΡ ΡΠ΅ΡΠ΅Π· Facebook
Π‘ Π»Π΅ΡΠ° 2021 Π³ΠΎΠ΄Π° Facebook ΠΏΠΎΠΌΠ΅Π½ΡΠ» ΠΏΡΠ°Π²ΠΈΠ»Π° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΠΎΠ½Π½ΡΠΌΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌΠΈ. ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΏΠ΅ΡΠΈΠΎΠ΄ΠΈΡΠ΅ΡΠΊΠΈ ΠΏΡΠΎΡ ΠΎΠ΄ΠΈΡΡ ΡΡΡΠ½ΡΡ ΠΌΠΎΠ΄Π΅ΡΠ°ΡΠΈΡ, Π΄Π»Ρ ΡΠ΅Π³ΠΎ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡ Bonsai Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΡ ΡΡΠ΅ΡΠ½ΡΡ Π·Π°ΠΏΠΈΡΡ ΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΡΡ Π΄Π°Π½Π½ΡΠ΅ ΠΎΡ Π½Π΅Π΅ Π² Facebook. ΠΠ°Π½Π½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± ΠΈΠΌΠ΅Π΅Ρ ΡΠΌΡΡΠ» Π½Π° ΠΏΡΠ±Π»ΠΈΡΠ½ΡΡ ΡΠ΅ΡΠ²ΠΈΡΠ°Ρ Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠ΅ΠΉ, Π½ΠΎ Π² ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ΅ Bonsai ΠΏΡΠΎΡΠΈΠ²ΠΎΡΠ΅ΡΠΈΡ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΠΈΠ΄Π΅Π΅: Ρ ΡΠ°Π½ΠΈΠΌΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΠΎ ΡΠ΅ΠΌΡΠ΅ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ Π΄ΠΎΡΡΡΠΏΠ½Ρ ΡΡΠ΅ΡΡΠΈΠΌ Π»ΠΈΡΠ°ΠΌ. Π ΡΠ²ΡΠ·ΠΈ Ρ ΡΡΠΈΠΌ Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΡ ΡΠ΅ΡΠ΅Π· Facebook Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ.
Π‘ΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠ΅ ΡΡΠ΅ΡΠ½ΡΠ΅ Π·Π°ΠΏΠΈΡΠΈ, ΠΏΡΠΈΠ²ΡΠ·Π°Π½Π½ΡΠ΅ ΠΊ Facebook, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠ΅ΡΠ΅Π²Π΅ΡΡΠΈ Π² ΡΠΈΠΏ "Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΡ ΠΏΠΎ ΠΏΠ°ΡΠΎΠ»Ρ" Ρ ΠΏΠΎΠΌΠΎΡΡΡ SQL-ΡΠΊΡΠΈΠΏΡΠ°:
UPDATE "public"."AspNetUsers"
SET
"PasswordHash" = 'AQAAAAEAACcQAAAAEOKtY+Y/P0WYToOv6fhFyQKDRj8ZBPbZBNX72ilP9a9jsrk+MsX2L0Q1FVUFkbQ7SQ==',
"SecurityStamp" = 'OFYAMDMHVW5CK5Y3W6OJIKQX4INUIZC2',
"AuthType" = 1
WHERE
"Email" = '<EMAIL>'