π OTP-ΠΌΠ°Π³ΠΈΡ Π² Django: Π½ΠΎΠ²ΡΠΉ Π²Π·Π³Π»ΡΠ΄ Π½Π° Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ

Π‘ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π²ΡΡ ΡΠ°ΡΠ΅ ΠΎΡΠΊΠ°Π·ΡΠ²Π°ΡΡΡΡ ΠΎΡ ΠΏΠ°ΡΠΎΠ»Π΅ΠΉ. ΠΠΌΠ΅ΡΡΠΎ Π½ΠΈΡ β ΠΎΠ΄Π½ΠΎΡΠ°Π·ΠΎΠ²ΡΠ΅ ΠΊΠΎΠ΄Ρ, ΠΏΡΠΈΡ ΠΎΠ΄ΡΡΠΈΠ΅ ΠΏΠΎ SMS ΠΈΠ»ΠΈ email. βοΈ
ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° django-swap-user ΠΏΠΎΠ΄Ρ Π²Π°ΡΡΠ²Π°Π΅Ρ ΡΡΡ ΠΈΠ΄Π΅Ρ ΠΈ Π΄Π΅Π»Π°Π΅Ρ Π²Π½Π΅Π΄ΡΠ΅Π½ΠΈΠ΅ OTP ΠΏΡΠΎΡΡΡΠΌ ΠΈ ΠΏΡΠΎΠ·ΡΠ°ΡΠ½ΡΠΌ.
Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠ±ΡΠ°ΡΡ Π½ΡΠΆΠ½ΡΡ ΠΌΠΎΠ΄Π΅Π»Ρ β Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, to_phone_otp ΠΈΠ»ΠΈ to_email_otp. ΠΠ°ΠΆΠ΄Π°Ρ Ρ ΡΠ°Π½ΠΈΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΊΠ»ΡΡΠ΅Π²ΡΠ΅ ΠΏΠΎΠ»Ρ ΠΈ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΉ ΠΊΠΎΠ΄. ΠΠ°ΡΠΎΠ»ΠΈ Π² Π±Π°Π·Π΅ Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅ Π½ΡΠΆΠ½Ρ, Π° Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ ΡΠ°ΡΡΡΡ π.
ΠΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΏΡΠΎΠ΄ΡΠΌΠ°Π½Π° ΡΠ°ΠΊ, ΡΡΠΎΠ±Ρ Π½Π΅ Π΄ΡΠ±Π»ΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°Π±Π»ΠΈΡΡ ΠΈ ΠΌΠΈΠ³ΡΠ°ΡΠΈΠΈ. ΠΡΠΎ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΠΏΡΡΠ°Π½ΠΈΡΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠ°ΡΡΠΎ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ ΠΏΡΠΈ ΡΡΡΠ½ΠΎΠΉ Π½Π°ΡΡΡΠΎΠΉΠΊΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΡ ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ.
ΠΠ»Ρ Evrone ΡΡΠΎΡ ΠΏΡΠΎΠ΅ΠΊΡ ΡΡΠ°Π» ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠΎΠΌ Π² Π΄ΡΡ Π΅ open source: ΠΊΠΎΠΌΠ°Π½Π΄Π° Π΄Π΅Π»ΠΈΡΡΡ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈ, ΡΠΎΠΆΠ΄ΡΠ½Π½ΡΠΌΠΈ ΠΈΠ· ΡΠ΅Π°Π»ΡΠ½ΡΡ Π·Π°Π΄Π°Ρ. ΠΠΌΠ΅Π½Π½ΠΎ ΡΠ°ΠΊ, ΡΠ°Π³ Π·Π° ΡΠ°Π³ΠΎΠΌ, ΡΠΎΠΆΠ΄Π°ΡΡΡΡ ΡΠ΅ΡΠ΅Π½ΠΈΡ, ΡΠΏΡΠΎΡΠ°ΡΡΠΈΠ΅ ΠΆΠΈΠ·Π½Ρ ΡΡΡΡΡΠ°ΠΌ Django-ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² π.
ΠΠ°ΠΊ ΡΠΏΡΠΎΡΡΠΈΡΡ ΠΆΠΈΠ·Π½Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΡ Π² ΠΏΠ°ΡΡ ΡΡΡΠΎΠΊ
Python
Backend
Π‘Π²Π΅ΠΆΠΈΠ΅ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ