Authentication & Authorization
Overview
Section titled âOverviewâCyoda Cloud provides a secure, OAuth 2.0-based authentication system designed for developers building applications that integrate with the Cyoda platform. This guide explains the authentication flow from user registration to API integration.
Table of Contents
Section titled âTable of Contentsâ- User Registration
- Environment Setup and Provisioning
- Technical User Creation
- Authentication Flows
- Security Features
User Registration
Section titled âUser RegistrationâPrerequisites
Section titled âPrerequisitesâBefore using Cyoda Cloud, you must:
- Review Legal Documents: Carefully read and understand the Terms & Conditions and Data Privacy Policy
- Accept Compliance: Ensure full understanding and acceptance of all terms before proceeding
Registration Process
Section titled âRegistration Processâ- Access the AI Assistant: Navigate to the Cyoda Cloud web-based Single Page Application (SPA)
- Choose Authentication Provider: Register using one of the supported providers:
- Google Auth: Sign up using your Google account
- GitHub: Sign up using your GitHub account
- Complete Registration: Follow the Auth0 authentication flow to complete your account setup
- Free Tier Access: Upon successful registration, youâll be automatically enrolled in the Free Tier subscription
Free Tier Limitations
Section titled âFree Tier LimitationsâSee Entitlements
Environment Setup and Provisioning
Section titled âEnvironment Setup and ProvisioningâConnection
Section titled âConnectionâYour environment has several service endpoints, which are determined by your CAAS user ID.
Service | URL Pattern | Description |
---|---|---|
Cyoda UI | https://client-<caas_user_id>.eu.cyoda.net | Web interface for your Cyoda environment |
HTTP API | https://client-<caas_user_id>.eu.cyoda.net/api | Base URL for REST API endpoints |
gRPC | grpc-client-<caas_user_id>.eu.cyoda.net | gRPC service access endpoint |
JDBC/Trino | jdbc:trino://trino-client-<caas_user_id>.eu.cyoda.net:443 | Database query interface via Trino |
Technical User Creation
Section titled âTechnical User CreationâOverview
Section titled âOverviewâYou need a technical user to access your Cyoda Cloud API outside of the UI (Cyoda UI or AI Assistant). Technical users are machine-to-machine (M2M) clients authenticated using OAuth 2.0 client credentials flow.
Creation Process
Section titled âCreation Processâ- Login Requirement: You must be logged into the AI Assistant
- Request Technical User: Prompt the AI Assistant with your environment name and request to create a technical user
Example prompt: "Please create a technical user for my environment [your-environment-url]"
- Receive Credentials: The AI Assistant will provide:
- Client ID: Unique identifier for your technical user
- Client Secret: Secret key for authentication (shown only once)
Important Security Notes
Section titled âImportant Security Notesâ- One-Time Display: The client secret is shown only once during creation
- Secure Storage: Store credentials securely in your application configuration
- No Recovery: Lost secrets cannot be recovered; you must create a new technical user
- Rotation: Regularly rotate credentials for enhanced security
Authentication Flows
Section titled âAuthentication FlowsâOAuth 2.0 Client Credentials Grant
Section titled âOAuth 2.0 Client Credentials GrantâCyoda Cloud implements the standard OAuth 2.0 Client Credentials Grant (RFC 6749) for machine-to-machine authentication. All service endpoints support this flow.
Security Features
Section titled âSecurity FeaturesâJWT Tokens
Section titled âJWT Tokensâ- Algorithm: RS256 (RSA Signature with SHA-256)
- Expiration: 5 minutes
- Issuer: Cyoda Ltd.
- Claims: Include user ID, roles, and legal entity information
Tenant Isolation
Section titled âTenant Isolationâ- Legal Entity Boundaries: Data and operations are isolated by legal entity
- Multi-tenancy: Each organization operates in its own isolated environment
- Access Control: Users can only access resources within their legal entity
Credential Management
Section titled âCredential Managementâ- Secure Generation: Client secrets use cryptographically secure random generation
- BCrypt Hashing: Secrets are stored using BCrypt hashing
- Rotation Support: Secrets can be rotated via API/gRPC call.