← ClaudeAtlas

contentbox-boxlang-two-factor-authenticationlisted

Use this skill when implementing or customizing ContentBox two-factor authentication providers, trusted device flows, enrollment/verification UX, enforcement policies, and provider lifecycle handling.
ColdBox/skills · ★ 0 · API & Backend · score 61
Install: claude install-skill ColdBox/skills
# ContentBox Two-Factor Authentication (BoxLang) Implement and extend two-factor authentication (2FA) in ContentBox CMS using BoxLang. ContentBox provides a pluggable 2FA system with provider interfaces, trusted device support, and global enforcement. ## 2FA Architecture The 2FA system lives at `modules/contentbox/models/security/twofactor/`: | Component | File | Purpose | |-----------|------|---------| | **Interface** | `ITwoFactorProvider.cfc` | Contract all 2FA providers must implement | | **Base Class** | `BaseTwoFactorProvider.cfc` | Base class with injected services | | **Service** | `TwoFactorService.cfc` | Provider registry and orchestration | ### TwoFactorService The central service manages 2FA providers and settings: ```boxlang property name="twoFactorService" inject="twoFactorService@contentbox" // Provider management twoFactorService.registerProvider( provider ) twoFactorService.unRegisterProvider( name ) twoFactorService.getRegisteredProviders() twoFactorService.getRegisteredProvidersWithDisplayNames() twoFactorService.getProvider( name ) // Settings twoFactorService.isForceTwoFactorAuth() twoFactorService.getDefaultProvider() twoFactorService.getDefaultProviderObject() twoFactorService.getTrustedDeviceTimespan() ``` ### 2FA Settings Stored in the `cb_setting` table: | Setting Key | Description | |-------------|-------------| | `cb_security_2factorAuth_force` | Force global 2FA enrollment (true/false) | | `cb_security_2factorAuth_provider` | Default p