Product keys
Product keys are customer-specific licenses that provide authentication and access control.
Creating product keys
Product keys are generated from product templates for individual customers.
Generate a new key
- Navigate to Products in your project dashboard
- Click Create new key next to the desired product
- Fill in the customer information and license fields
- Click Create customer
Customer information
Required for all product keys:
- Email: Customer contact email
- Name: Customer or organization name
- Notes: Optional description/notes for internal reference
License field values
Complete the license fields defined in your product:
- Required fields: Must be provided to create the key
- Optional fields: Can be left empty if not needed
- Default values: Pre-filled for non-editable fields
- Validation: Email fields validate format, numbers check type
Sharing product keys
Two methods for delivering credentials to customers:
Onboarding links
Secure, time-limited links that provide customers with:
- Access to onboarding documentation
- Download link for their JWT credentials
- Product configuration details
To generate an onboarding link:
- Open the product key management page
- Click Share onboarding link
- Copy the generated URL
- Send to customer via email or secure channel
Link properties:
- Valid for 7 days from creation
- Single-use for security
- Includes product markdown documentation
- Provides downloadable JWT token
Manual sharing
Direct JWT token distribution for integration scenarios:
- Open the product key management page
- Click Share manually
- Copy the JWT token
- Send token to customer securely
Use manual sharing when:
- Customers integrate tokens programmatically
- You have existing secure distribution channels
- Onboarding documentation is not needed
Managing existing keys
Viewing product keys
Access all customer keys from Customers in your project dashboard:
- View customer information and contact details
- See license field configurations
- Monitor key status and usage
Updating customer information
- Click on a customer from the Customers list
- Modify name, email, or description fields
- Click Save changes
Note: License field values cannot be modified after key creation. Generate a new key for different configurations.
Revoking access
To revoke a customer’s access:
- Navigate to the customer’s product key page
- Delete the customer identity
- Confirm the deletion
Warning: Revoking access immediately invalidates the customer’s JWT token and removes all registry permissions.
Customer usage
Authentication
Customers use their JWT token for authentication:
# Registry login
docker login your-project.ctr.dev -u customer -p <jwt-token>
# API authentication
curl -H "Authorization: Bearer <jwt-token>" https://api.example.com/validate
Token properties
JWT tokens contain:
- Customer identity: Unique identifier
- License fields: Customer-specific configuration
- Registry permissions: Assigned pull roles
- Expiration: Token validity period (if configured)
Integration patterns
Common integration scenarios:
- Registry access: Use token as Docker credentials
- License validation: Verify token signature and extract license data
- API authentication: Include token in Authorization headers
- Feature gating: Check license fields for feature access