Blog

Gavin Pickin

December 14, 2017

Spread the word


Share your thoughts

At Ortus Solutions, we love the holidays, and we wanted to gift you a gift of developer productivity, we will share a few tips and tricks that will keep giving all year around. In this series we'll be giving you 12 ContentBox tips. Keep your eye out for other 12 tips of Christmas series on our blog, including a new one this year, 12 modules of Christmas on ForgeBox.

Day 1 This is one of our biggest features for ContentBox is our two factor authentication framework. That's right, we built a two factor module framework that will allow you to build or use any two factor or multi-factor authentication mechanism. We have included one in the core which is Email verification... and already created SNS implementations for customers.

Please refer to the developing two factor authentication providers in order to get an in-depth look of how to build your own two factor authentication provider modules.

Global Settings

An admin can force two factor authentication for all users in the system and even provided a trusted device registry so ContentBox can track their devices and challenge only after a few days.

User Settings

The user can also setup two factor authentication for their account if so desired.

Two Factor Events

The following are the new interception points for two factor authentication. These are required if you would like to create your own provider.

  • cbadmin_onTwoFactorSettingsPanel - Shows on the two factor global settings panel
  • cbadmin_onAuthorTwoFactorOptions - Shows on the options for two factor auth in the author editor
  • cbadmin_onAuthorTwoFactorSaveOptions - Fires when the options are being saved
  • cbadmin_beforeTwoFactorForm - Shows at the beginning of two factor form challenge
  • cbadmin_afterTwoFactorForm - Shows after the two factor form challenge
  • cbadmin_onInvalidTwoFactor - Fires when an invalid challenge has been made
  • cbadmin_onValidTwoFactor - Fires when a valid challeng has been made

Keep an eye out for the rest of our 12 tips of ContentBox Christmas.

Add Your Comment

Recent Entries

Hotfix Hell: Why Legacy ColdFusion Systems Become Operationally Fragile

Hotfix Hell: Why Legacy ColdFusion Systems Become Operationally Fragile

Many legacy CFML systems do not fail suddenly.

Instead, they slowly become fragile.

At first, the application works. Then small operational issues start appearing: unexpected slowdowns, random restarts, patches applied late at night, fixes that introduce new bugs.

Eventually teams find themselves trapped in what many engineers call “hotfix hell.”

This pattern is common in environments still running:

  • Adobe ColdFusion 2021 or earlier<...

Cristobal Escobar
Cristobal Escobar
March 09, 2026
Introducing the BoxLang IDE Plugin for IntelliJ

Introducing the BoxLang IDE Plugin for IntelliJ

The IntelliJ ecosystem is one of the most powerful development environments for JVM developers. Today, we’re excited to introduce the official BoxLang IDE plugin for IntelliJ, bringing modern BoxLang development directly into the JetBrains IDE family.

Whether you're building new BoxLang applications or maintaining existing CFML codebases, this plugin gives you first-class tooling inside IntelliJ.

...

Eric Peterson
Eric Peterson
March 06, 2026
BoxLang Is Heading to JavaLand 2026! 🚀

BoxLang Is Heading to JavaLand 2026! 🚀

We’re excited to announce that the team behind BoxLang will be attending JavaLand 2026 as Startup Sponsors!

From March 10–12, 2026, the Java community will gather at Europa-Park for one of the most unique and immersive developer conferences in Europe. With nearly 130 presentations across multiple tracks, workshops, and community activities, JavaLand brings together developers, architects, and technology leaders from across the JVM ecosystem.

For the BoxLang team, this is a fantastic opportunity to connect with the Java community and continue our mission: modernizing software development on the JVM while empowering developers with productive, flexible tools.

Maria Jose Herrera
Maria Jose Herrera
March 06, 2026