Installation Instructions on a Server with a FIDO2 Server on a SEPARATE Server
If installing this sample application on a separate server, StrongKey's software stack must be installed to make it work. Follow these steps to do so:
Complete Steps 1–5 of the FIDO server installation instructions but come back here after completing Step 5
Edit the install-skfs.sh script in a text editor; on the line INSTALL_FIDO=Y, change the value of Y to N
Run the script install-skfs.sh
sudo ./install-skfs.sh
Continue the installation as shown under Installation Instructions on a Server with a FIDO2 Server on the SAME Server. Note that this assumes SKFS was previously installed on the server without modifying the install-skfs.sh script.
Create the following directories to configure the WebAuthn servlet home folder:
sudo mkdir -p /usr/local/strongkey/sfaboa/etc
Create a configuration file for the service provider web application.
sudo vi /usr/local/strongkey/sfaboa/etc/sfaboa-configuration.properties
Enter the appropriate values (listed in []) to configure the sample application with SKFS and an email server (Gmail may also be used as the mail server with a personal Gmail account; enable access through the Google account’s security settings). If the mail server has a self-signed certificate, make sure to import it in the GlassFish TrustStore before continuing.
sfaboa.cfg.property.apiuri=https://**[hostname of FIDO Server]**:8181
sfaboa.cfg.property.mailhost.type=**[SendMail or SSL or StartTLS]**
sfaboa.cfg.property.mailhost=**[localhost or hostname of mailhost]**
sfaboa.cfg.property.mail.smtp.port=**[25 (SendMail) or mail server's port]**
sfaboa.cfg.property.smtp.from=**[local-part of email address]**
sfaboa.cfg.property.smtp.fromName=**[Human readable name associated with email]**
sfaboa.cfg.property.smtp.auth.user=**[Username used to login to mail server]**
sfaboa.cfg.property.smtp.auth.password=**[Password used to login to mail server]**
sfaboa.cfg.property.email.subject=Verify your email address
sfaboa.cfg.property.email.type=HTML
Save and exit.
Download the service provider web application distribution sfaboaserver-vx-xx-dist.tgz:
wget https://sourceforge.net/projects/strongkeyfido/files/v4.14.0/sampleapps/java/sacl/sfaboa/sfaboaserver-v4.14.0-dist.tgz
Verify if sha256sum for the distribution matches e31b0a725fe1afe30939bd7cfbab11f76dbfbe33fbb4f6b1cf12c0373ba80cfb
shell> sha256sum sfaboaserver-v4.14.0-dist.tgz
Extract the downloaded file to the current directory:
tar xvzf sfaboaserver-v4.14.0-dist.tgz
Execute the install-sfaboaserver.sh script as follows:
sudo ./install-sfaboaserver.sh
Test that the servlet is running by executing the following cURL command and confirming that the API Web Application Definition Language (WADL) file is returned in response.
curl -k https://localhost:8181/sfaboa/fido2/application.wadl
The SFABOA server is installed. Continue to install the front-end Angular application.
Switch users to (or login as) the strongkey user. The default password for the strongkey user is ShaZam123.
su - strongkey
Download the web application distribution for SKFS sfaboa-ui-dist.tar.gz.
wget https://sourceforge.net/projects/strongkeyfido/files/v4.14.0/sampleapps/java/sacl/sfaboa/sfaboa-ui-dist.tar.gz
shell> sha256sum sfaboa-ui-dist.tar.gz
Extract the downloaded file.
tar xvzf sfaboa-ui-dist.tar.gz
Copy all the files to the Payara docroot.
mkdir /usr/local/strongkey/payara6/glassfish/domains/domain1/docroot/boa
cp -r dist/* /usr/local/strongkey/payara6/glassfish/domains/domain1/docroot/boa
Optional: Modify the background image and the logo image.
cp <your background> /usr/local/strongkey/payara6/glassfish/domains/domain1/docroot/assets/app/media/img/bg/background.jpg
cp <your logo> /usr/local/strongkey/payara6/glassfish/domains/domain1/docroot/assets/app/media/img/logo/logo.png
The application is deployed in docroot on the SFABOA server. Access it as follows in a browser:
https://<FQDN-of-sfaboa-server>:8181/boa
To uninstall the service provider sample web application, follow the Removal instructions. Removing SKFS also removes the sample service provider web application and sample WebAuthn client. If this SFABOA was installed on top of SKFS, the cleanup script will erase SKFS as well. If this was a standalone install, the cleanup script will only remove the SFABOA application.
If you would like to contribute to the sample service provider web application project, please read CONTRIBUTING.md, then sign and submit the Contributor License Agreement (CLA).
For detailed information on the FIDO2 project, visit the technical specification:
For more information on the originating jargon and related terms, visit the Internet Engineering Task Force (IETF) Request for Comments (RFC):
This project is currently licensed under the GNU Lesser General Public License v2.1.