> ## Documentation Index
> Fetch the complete documentation index at: https://exosphere-auto-translate-docs-20260624-1149.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Auth

title: साइन इन करें
description: "रिमाइंडर और व्यक्तिगत सुविधाओं को सक्षम करने के लिए CLI से FailproofAI में साइन इन करें"
------------------------------------------------------------------------------------------------------

```bash theme={null}
failproofai auth login    # email + one-time code
failproofai auth logout   # revoke this session
failproofai auth whoami   # print the signed-in identity
```

लीगेसी `--login` / `--logout` / `--whoami` फ्लैग फॉर्म अभी भी बैक-कम्पैट के लिए एक उपनाम के रूप में स्वीकार किया जाता है।

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

## साइन-इन फ्लो

```bash theme={null}
failproofai auth login
```

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

डैशबोर्ड उन उपयोगकर्ताओं के लिए `/audit` पर एक मोडल डायलॉग के रूप में समान फ्लो को उजागर करता है जो कभी CLI को छूते नहीं हैं।

## साइन-आउट

```bash theme={null}
failproofai auth logout
```

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

## पहचान जांच

```bash theme={null}
failproofai auth whoami
```

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

## स्थायी फिर से ऑडिट रिमाइंडर

जब आप `/audit` पृष्ठ पर **`[ set a reminder ]`** क्लिक करते हैं (या मोडल के माध्यम से साइन इन करते हैं जो बटन गेट्स पर), डैशबोर्ड `~/.failproofai/next-audit.json` पर एक छोटी साथी फ़ाइल लिखता है:

```json theme={null}
{
  "next_audit_at": 1780765200,
  "user_email": "you@example.com",
  "set_at": 1780160574
}
```

यह फ़ाइल उस ईमेल के लिए स्कोप की गई है जिसके लिए इसे सेट किया गया था — CLI सेशन को एक अलग खाते में स्विच करने से पिछले उपयोगकर्ता के संबंधित कोई भी रिमाइंडर छिप जाता है। डिफ़ॉल्ट ऑफसेट **7 दिन** है, स्केड्यूलर आने पर बाद में कॉन्फ़िगर करने योग्य। `auth.json` की तरह `0600` परमिशन के साथ बनाया गया।

डैशबोर्ड का `/api/auth/reminder` एंडपॉइंट `GET` (पढ़ें), `POST` (सेट / रीशेड्यूल), और `DELETE` (साफ़ करें) को उजागर करता है और एक सक्रिय सेशन की आवश्यकता होती है।

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

```json theme={null}
{
  "access_token": "eyJhbGc…",
  "refresh_token": "9ede3e…",
  "access_expires_at": 1780160574,
  "refresh_expires_at": 1782748974,
  "user": { "id": "<uuid>", "email": "you@example.com" }
}
```

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

## पर्यावरण चर

| चर                     | डिफ़ॉल्ट                     | उद्देश्य                                                                                              |
| ---------------------- | ---------------------------- | ----------------------------------------------------------------------------------------------------- |
| `FAILPROOF_API_URL`    | `https://api.befailproof.ai` | api-सर्वर बेस URL को ओवरराइड करें। स्व-होस्ट किए गए api-सर्वर के विरुद्ध स्थानीय विकास के लिए उपयोगी। |
| `FAILPROOFAI_AUTH_DIR` | `~/.failproofai`             | ओवरराइड करें कि `auth.json` कहाँ संग्रहीत है। मुख्यतः परीक्षणों के लिए।                               |

पूर्ण सूची के लिए [पर्यावरण चर](/hi/cli/environment-variables) देखें।

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

**"Could not reach the api-server"** — CLI `FAILPROOF_API_URL` के लिए TCP कनेक्शन नहीं खोल सकता। अपने नेटवर्क की जांच करें, या यदि आप स्व-होस्ट किए गए api-सर्वर चला रहे हैं तो `FAILPROOF_API_URL` सेट करें।

**"Rate limited"** — उस ईमेल के लिए 15 मिनट की विंडो में बहुत सारे लॉगिन प्रयास (5/email) या IP (20/IP), या उसी ईमेल के लिए पिछले अनुरोध के बाद 30-सेकंड का रीसेंड कूलडाउन। त्रुटि संदेश में सेकंड में पुनः प्रयास-बाद की विंडो शामिल होती है।

**Code rejected** — OTP गलत था, समाप्त हो गया, या पंक्ति ने अपने 5-गलत-अनुमान लॉकआउट को हिट किया। ताज़ा कोड के लिए अनुरोध करने के लिए `failproofai auth login` चलाएं।
