كلمات المرور لمرة واحدة (OTPs) هي آلية لتحسين الأمان عبر كلمات المرور وحدها. عندما يتم تخزين OTP المستند إلى الوقت (TOTP) على هاتف المستخدم، ودمجه مع شيء يعرفه المستخدم (كلمة المرور)، يكون لديك طريقة سهلة للوصول إلى المصادقة متعددة العوامل دون إضافة اعتماد على مزود خدمة الرسائل القصيرة. يتم استخدام مجموعة كلمة المرور وTOTP هذه بواسطة العديد من مواقع الويب الشهيرة بما في ذلك Google وGitHub وFacebook وSalesforce وغيرها الكثير.
تتيح لك مكتبة otp
إمكانية إضافة TOTPs بسهولة إلى تطبيقك الخاص، مما يزيد من أمان المستخدم ضد اختراقات كلمات المرور الجماعية والبرامج الضارة.
نظرًا لأن TOTP موحد ومنتشر على نطاق واسع، فهناك العديد من عملاء الأجهزة المحمولة وتطبيقات البرامج.
otp
:للحصول على مثال لسير عمل تسجيل العمل، قام GitHub بتوثيق سير العمل الخاص بهم، ولكن الأساسيات هي:
key,_ := totp.Generate(...)
.key.Secret()
و key.Image(...)
.totp.Validate(...)
.key.Secret()
GenerateCode
وبنية العداد أو time.Time
لإنشاء رمز صالح متوافق مع معظم عمليات التنفيذ.GenerateCodeCustom
في أي من الوحدتين.totp.Validate(...)
عندما يفقد المستخدم إمكانية الوصول إلى جهاز TOTP الخاص به، فلن يتمكن بعد ذلك من الوصول إلى حسابه. نظرًا لأن TOTPs يتم تكوينها غالبًا على الأجهزة المحمولة التي يمكن فقدانها أو سرقتها أو تلفها، فهذه مشكلة شائعة. لهذا السبب، يمنح العديد من مقدمي الخدمة مستخدميهم "رموزًا احتياطية" أو "رموز استرداد". هذه مجموعة من رموز الاستخدام لمرة واحدة والتي يمكن استخدامها بدلاً من TOTP. يمكن ببساطة أن تكون هذه سلاسل يتم إنشاؤها عشوائيًا وتقوم بتخزينها في الواجهة الخلفية لديك. توفر وثائق Github نظرة عامة على تجربة المستخدم.
يرجى فتح القضايا في Github للأفكار والأخطاء والأفكار العامة. طلبات السحب هي المفضلة بالطبع :)
otp
مرخص بموجب ترخيص أباتشي، الإصدار 2.0