Skip to main content
failproofai auth login    # email + mã một lần
failproofai auth logout   # thu hồi phiên này
failproofai auth whoami   # in danh tính đã đăng nhập
Dạng cờ cũ --login / --logout / --whoami vẫn được chấp nhận như một bí danh để tương thích ngược. Xác thực là tùy chọn. Các chính sách, bảng điều khiển, trang /audit, và mọi tính năng cục bộ khác hoạt động hoàn toàn giống nhau cho dù bạn đã đăng nhập hay chưa. Giao diện đăng nhập tồn tại để các tính năng cần một danh tính ổn định (nhắc nhở tái kiểm toán ngày hôm nay, nhiều tính năng hơn trong tương lai) có nơi để neo.

Luồng đăng nhập

failproofai auth login
Yêu cầu nhập email của bạn, gửi mã một lần 6 chữ số đến địa chỉ đó, yêu cầu nhập mã, và khi thành công sẽ ghi ~/.failproofai/auth.json (chế độ 0600). Cùng phiên đó sẽ hiển thị trong bảng điều khiển trong ứng dụng — nhấp vào [ set a reminder ] trên /audit sẽ thấy bạn đã đăng nhập. Bảng điều khiển hiển thị cùng một luồng như một hộp thoại phương thức trên /audit cho những người dùng không bao giờ sử dụng CLI.

Đăng xuất

failproofai auth logout
Thu hồi phiên hiện tại trên máy chủ và xóa ~/.failproofai/auth.json. Nếu máy chủ api không thể truy cập được, tệp cục bộ sẽ bị xóa bất kể — ý định cục bộ để đăng xuất luôn thắng.

Kiểm tra danh tính

failproofai auth whoami
In <email> (<user uuid>) và thoát 0 khi một phiên hợp lệ tồn tại, hoặc not signed in và thoát 1 trong trường hợp khác. Yên tĩnh làm mới mã truy cập trong nền nếu nó trong vòng một phút sắp hết hạn.

Nhắc nhở tái kiểm toán dai dẳng

Khi bạn nhấp vào [ set a reminder ] trên trang /audit (hoặc đăng nhập thông qua phương thức mà nút đó kiểm soát truy cập), bảng điều khiển sẽ ghi một tệp đồng hành nhỏ tại ~/.failproofai/next-audit.json:
{
  "next_audit_at": 1780765200,
  "user_email": "you@example.com",
  "set_at": 1780160574
}
Tệp này được giới hạn trong phạm vi email mà nó được đặt cho — chuyển phiên CLI sang một tài khoản khác sẽ ẩn bất kỳ nhắc nhở nào thuộc về người dùng trước đó. Độ lệch mặc định là 7 ngày, có thể cấu hình sau khi trình lập lịch được triển khai. Được tạo với quyền 0600 như auth.json. Điểm cuối /api/auth/reminder của bảng điều khiển hiển thị GET (đọc), POST (đặt / sắp xếp lại), và DELETE (xóa) và yêu cầu một phiên hoạt động.

Cái gì nằm trong ~/.failproofai/auth.json

{
  "access_token": "eyJhbGc…",
  "refresh_token": "9ede3e…",
  "access_expires_at": 1780160574,
  "refresh_expires_at": 1782748974,
  "user": { "id": "<uuid>", "email": "you@example.com" }
}
Được tạo với quyền 0600 (chỉ chủ sở hữu có thể đọc/ghi). Mã truy cập là JWT HS256 1 giờ; mã làm mới là một chuỗi ngẫu nhiên 256-bit không rõ ràng mà máy chủ lưu trữ dưới dạng SHA-256(token). Phát lại mã làm mới được phát hiện phía máy chủ và thu hồi mọi phiên cho người dùng.

Các biến môi trường

BiếnMặc địnhMục đích
FAILPROOF_API_URLhttps://api.befailproof.aiGhi đè URL cơ sở máy chủ api. Hữu ích cho phát triển cục bộ dựa trên máy chủ api tự lưu trữ.
FAILPROOFAI_AUTH_DIR~/.failproofaiGhi đè vị trí lưu trữ auth.json. Chủ yếu cho các bài kiểm tra.
Xem Các biến môi trường để có danh sách đầy đủ.

Khắc phục sự cố

“Could not reach the api-server” — CLI không thể mở kết nối TCP đến FAILPROOF_API_URL. Kiểm tra mạng của bạn, hoặc đặt FAILPROOF_API_URL nếu bạn đang chạy máy chủ api tự lưu trữ. “Rate limited” — quá nhiều lần thử đăng nhập trong cửa sổ 15 phút cho email đó (5/email) hoặc IP (20/IP), hoặc thời gian chờ gửi lại 30 giây sau yêu cầu trước đó cho cùng email. Thông báo lỗi bao gồm cửa sổ retry-after tính bằng giây. Code rejected — OTP sai, hết hạn, hoặc hàng đó chạm vào khóa 5 lần đoán sai. Chạy failproofai auth login lại để yêu cầu mã mới.