π ΠΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡ ΠΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ
Π‘ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΉ, Π»Π΅Π³ΠΊΠΈΠΉ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ. Π‘Π΅ΡΠ²ΠΈΡ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠ»Π΅Π³Π°Π½ΡΠ½ΡΠΉ, Π½Π°ΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌΡΠΉ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π΄Π»Ρ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ² Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ, Π²ΠΊΠ»ΡΡΠ°Ρ Π²Ρ
ΠΎΠ΄, ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΡ ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠ΅ΡΡΠΈΡΠΌΠΈ Ρ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠ΅ΠΉ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΡΠΈΡΡΠΎΠ²ΠΎΠ³ΠΎ ΠΎΡΠΏΠ΅ΡΠ°ΡΠΊΠ° ΡΡΡΡΠΎΠΉΡΡΠ²Π°.
π ΠΠ³Π»Π°Π²Π»Π΅Π½ΠΈΠ΅
β¨ ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ
- π¨ Π‘ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ - Π§ΠΈΡΡΡΠΉ, Π°Π΄Π°ΠΏΡΠΈΠ²Π½ΡΠΉ Π΄ΠΈΠ·Π°ΠΉΠ½, ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΠΉ Π½Π° Π²ΡΠ΅Ρ
ΡΡΡΡΠΎΠΉΡΡΠ²Π°Ρ
- π ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠ΅ΠΌ - Π‘Π²Π΅ΡΠ»ΡΠΉ ΠΈ ΡΠ΅ΠΌΠ½ΡΠΉ ΡΠ΅ΠΆΠΈΠΌΡ Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΠΌ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΡ
ΠΏΡΠ΅Π΄ΠΏΠΎΡΡΠ΅Π½ΠΈΠΉ
- π¨ ΠΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΠΎΡΠΈΠ±ΠΎΠΊ - ΠΠΎΠ»Π½Π°Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° HTTP-ΠΎΡΠΈΠ±ΠΎΠΊ Ρ ΠΏΠΎΠ½ΡΡΠ½ΡΠΌΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡΠΌΠΈ
- π ΠΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ ΠΏΠΎ ΠΎΡΠΏΠ΅ΡΠ°ΡΠΊΡ - Π Π°ΡΠΏΠΎΠ·Π½Π°Π²Π°Π½ΠΈΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ² Ρ ΠΏΠΎΠΌΠΎΡΡΡ FingerprintJS
- βοΈ ΠΠ°ΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌΠΎΡΡΡ - ΠΡΠΎΡΡΠ°Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠ° Π²Π½Π΅ΡΠ½Π΅Π³ΠΎ Π²ΠΈΠ΄Π° ΠΈ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ
- π ΠΠΎΡΠΎΠ²Π½ΠΎΡΡΡ ΠΊ Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ - Π‘ΡΡΡΠΊΡΡΡΠΈΡΠΎΠ²Π°Π½ Π΄Π»Ρ ΠΏΡΠΎΡΡΠΎΠ³ΠΎ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄Π° (ΡΠ΅ΠΉΡΠ°Ρ Π½Π° ΡΡΡΡΠΊΠΎΠΌ)
π ΠΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ ΡΠ΅Ρ
Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ
- Svelte - Π€ΡΠΎΠ½ΡΠ΅Π½Π΄-ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ
- TypeScript - Π’ΠΈΠΏΠΈΠ·Π°ΡΠΈΡ ΠΈ ΡΠ»ΡΡΡΠ΅Π½Π½ΡΠΉ ΠΎΠΏΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°
- FingerprintJS - Π‘Π½ΡΡΠΈΠ΅ ΠΎΡΠΏΠ΅ΡΠ°ΡΠΊΠ° Π±ΡΠ°ΡΠ·Π΅ΡΠ° Π΄Π»Ρ ΡΠ°ΡΠΏΠΎΠ·Π½Π°Π²Π°Π½ΠΈΡ ΡΡΡΡΠΎΠΉΡΡΠ²
- FasAPI - ΠΡΠΊΠ΅Π½Π΄-ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ
π₯ Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ°
- ΠΠ»ΠΎΠ½ΠΈΡΡΠΉΡΠ΅ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ:
git clone https://github.com/ivanvit100/auth_service.git
cd authenticator
- Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ:
npm install
- ΠΠ°ΠΏΡΡΡΠΈΡΠ΅ ΡΠ΅ΡΠ²Π΅Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ:
npm run dev
π ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅
ΠΠ°Π·ΠΎΠ²Π°Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠ°
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°ΡΡΡΠΎΠΈΡΡ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ, ΠΏΠ΅ΡΠ΅Π΄Π°Π² ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ App:
import App from './App.svelte';
const app = new App({
target: document.body,
props: {
logoPath: '/your-logo.png',
primaryColor: '#4CAF50',
AppName: 'ΠΠ°Π·Π²Π°Π½ΠΈΠ΅ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ'
}
});
export default app;
ΠΠ°ΡΡΡΡΡΡ
ΠΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΌΠ°ΡΡΡΡΡΠΎΠ²:
/#/main
- ΠΠ»Π°Π²Π½Π°Ρ ΡΡΡΠ°Π½ΠΈΡΠ°
/#/auth
- Π‘ΡΡΠ°Π½ΠΈΡΠ° Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ
/#/anything_else
- Π‘ΡΡΠ°Π½ΠΈΡΡ ΠΎΡΠΈΠ±ΠΎΠΊ