Authentication & Access Control
How Taloflow authenticates users and services, and manages tokens.
Zero Trust Architecture
Taloflow implements a zero-trust security model where all requests require explicit authentication and authorization:
All API requests require either machine-to-machine (M2M) tokens or user authentication tokens
Token scoping: Each token is limited to specific permissions and has defined expiration times
Service-to-service authentication: Managed through Open Policy Agent (OPA)
JWT verification: Requests are verified using signed JSON Web Tokens (JWTs)
Open Policy Agent (OPA) Implementation
We use OPA (see Authorization & Permissions) as our centralized authorization system for all API requests:
Scope-based access control: Every request is evaluated against token scopes and user permissions
Service identity verification: All services must prove their identity before accessing resources
Request authorization flow: Each API call passes through OPA evaluation before reaching application logic
Centralized policy management: Authorization rules are maintained in a single, auditable location
Failed Authentication Handling
Taloflow follows security best practices for authentication failures:
Auth0-managed responses: All authentication is handled through Auth0's secure infrastructure
Standard error messages: Failed authentication attempts receive generic error messages that do not disclose information about valid usernames or account details
Silent failure patterns: Security-sensitive operations fail without revealing the reason for failure to potential attackers
Separate error handling: API authentication errors are handled differently from UI authentication to optimize both security and user experience
Token Lifecycle Management
Token expiration: All tokens have defined expiration periods
Scope enforcement: Tokens can only perform actions within their designated scope
Internal token generation: Services can generate internal tokens with revised scopes for specific operations
Audit logging: All token usage is logged with JTI (JWT ID), User ID, thumbprint, and expiration time
Credential handling
Taloflow does not store user passwords in human-readable form.
User authentication and credential storage are handled by Auth0.
Last updated
Was this helpful?