Skip to main content
पुरानी --login / --logout / --whoami फ्लैग फॉर्म अभी भी पिछड़े संगतता के लिए एक उपनाम के रूप में स्वीकार की जाती है। प्रमाणीकरण वैकल्पिक है। नीतियां, डैशबोर्ड, /audit पृष्ठ, और हर अन्य स्थानीय सुविधा ठीक उसी तरह काम करती है चाहे आप साइन इन हों या नहीं। लॉगिन सतह इसलिए मौजूद है ताकि जिन सुविधाओं को एक स्थिर पहचान की आवश्यकता है (आज पुनः-ऑडिट रिमाइंडर, भविष्य में और अधिक) के पास लंगर डालने के लिए कहीं हो।

साइन-इन प्रवाह

आपके ईमेल के लिए संकेत देता है, उस पते पर एक 6-अंकीय एक-बार कोड भेजता है, कोड के लिए संकेत देता है, और सफलता पर ~/.failproofai/auth.json (मोड 0600) लिखता है। वही सत्र तब इन-ऐप डैशबोर्ड में दिखाई देता है — /audit पर [ set a reminder ] पर क्लिक करने से आप साइन इन के रूप में दिखाई देंगे। डैशबोर्ड उन उपयोगकर्ताओं के लिए /audit पर एक मोडल डायलॉग के रूप में समान प्रवाह को उजागर करता है जो कभी CLI को स्पर्श नहीं करते हैं।

साइन-आउट

सर्वर पर वर्तमान सत्र को रद्द करता है और ~/.failproofai/auth.json को हटाता है। यदि api-server अप्राप्य है, तो स्थानीय फ़ाइल को वैसे भी हटा दिया जाता है — लॉग आउट करने का स्थानीय इरादा हमेशा जीतता है।

पहचान की जांच

जब एक वैध सत्र मौजूद हो तो <email> (<user uuid>) प्रिंट करता है और 0 पर बाहर निकलता है, अन्यथा not signed in प्रिंट करता है और 1 पर बाहर निकलता है। यदि एक्सेस टोकन समाप्त होने के एक मिनट के भीतर है तो पृष्ठभूमि में चुपचाप एक्सेस टोकन को रीफ्रेश करता है।

निरंतर पुनः-ऑडिट रिमाइंडर

जब आप /audit पृष्ठ पर [ set a reminder ] पर क्लिक करते हैं (या मोडल के माध्यम से साइन इन करते हैं जो बटन गेट्स को करता है), डैशबोर्ड ~/.failproofai/next-audit.json पर एक छोटी साथी फ़ाइल लिखता है:
यह फ़ाइल उस ईमेल के लिए स्कोप की गई है जिसके लिए इसे सेट किया गया था — CLI सत्र को एक अलग खाते में स्विच करने से पिछले उपयोगकर्ता से संबंधित किसी भी रिमाइंडर को छिपाया जाता है। डिफ़ॉल्ट ऑफसेट 7 दिन है, जब शेड्यूलर उतरता है तो बाद में कॉन्फ़िगर करने योग्य। auth.json की तरह 0600 परमिशन के साथ बनाया गया है। डैशबोर्ड का /api/auth/reminder एंडपॉइंट GET (पढ़ना), POST (सेट / पुनः शेड्यूल), और DELETE (स्पष्ट) को उजागर करता है और एक सक्रिय सत्र की आवश्यकता है।

~/.failproofai/auth.json में क्या है

0600 परमिशन के साथ बनाया गया है (केवल मालिक पढ़ने/लिखने में सक्षम)। एक्सेस टोकन एक 1-घंटे का HS256 JWT है; रीफ्रेश टोकन एक अपारदर्शी 256-बिट यादृच्छिक स्ट्रिंग है जो सर्वर SHA-256(token) के रूप में स्टोर करता है। रीफ्रेश-टोकन रिप्ले सर्वर-साइड पर पता लगाया जाता है और उपयोगकर्ता के लिए हर सत्र को रद्द करता है।

पर्यावरण चर

पूरी सूची के लिए पर्यावरण चर देखें।

समस्या निवारण

“Could not reach the api-server” — CLI FAILPROOF_API_URL के लिए TCP कनेक्शन नहीं खोल सकता है। अपने नेटवर्क की जांच करें, या यदि आप एक स्व-होस्ट किए गए api-server चला रहे हैं तो FAILPROOF_API_URL सेट करें। “Rate limited” — उस ईमेल के लिए 15-मिनट की विंडो में बहुत अधिक लॉगिन प्रयास (5/ईमेल) या IP (20/IP), या उसी ईमेल के लिए पिछले अनुरोध के बाद 30-सेकंड की पुनः भेजने की शीतलता। त्रुटि संदेश सेकंड में पुनः प्रयास-बाद की विंडो शामिल करता है। Code rejected — OTP गलत था, समाप्त हो गया था, या पंक्ति को इसके 5-गलत-अनुमान लॉकआउट को मारा गया था। ताजा कोड का अनुरोध करने के लिए failproofai auth login चलाएँ।