Authentication & Wallet System

📘 General javascript v1

Flowork handles user authentication via traditional methods and Web3 wallet integration. The auth system manages JWT tokens, session persistence, and secure routes.

Authentication Overview

Flowork supports multiple ways for a user to identify themselves to the system, ensuring security while maintaining a smooth user experience.

Traditional Login

Users can authenticate using standard email and password combinations. The backend verifies credentials and issues a JSON Web Token (JWT) that the client stores and attaches to subsequent requests.

Web3 Wallet Integration

For advanced features and crypto-native users, Flowork integrates with Web3 wallets. This allows users to authenticate by signing a message with their private key, proving ownership of a specific address without needing a password.

Session Management

The auth.js Pinia store is the central source of truth for the user's authentication state on the frontend. It handles:

  • Storing the JWT
  • Tracking user profile information
  • Managing login/logout flows
Navigation guards in Vue Router ensure that unauthorized users cannot access protected views like the App Dashboard or Flow Designer.