In order to accomplish two-factor authentication, we will create some new tables and incorporate them into our security processes. We will create a table to hold cell phone and pager numbers for users. Additionally, we will create a table to hold the SMS gateway address for each cell phone carrier whose phones we need to support. During our 10-minute cache timeout period, while we wait for the 2-factor codes to be delivered to the user’s cell phone, pager or e-mail, we will store the two-factor codes in the Oracle database, in another new table that we will create.
In addition to new tables, we will also create functions to send and to test the two-factor codes. We will also modify the