This directory contains two examples of second factor authentication triggers for use with the 2017.2 P4D, the Helix Versioning Engine. More information about the 2FA functionality can be found be found in the release notes here: http://ftp.perforce.com/perforce/r17.2/doc/user/relnotes.txt These example triggers are not officially supported: they are intended as examples to use as starting points for site specific deployments. We make no specific recommendations for any particular 2FA service: the providers that these examples use were known popular services, but many others exist. We will not provide support for configuring 2FA services. There are two examples in this directory: - okta2fa.rb This is a Ruby implementation of a 2FA trigger that uses Okta as the 2FA provider. The implementation is minimal and self contained in a single script. - duo2fa.pl This is a Perl implementation of a 2FA trigger that uses DuoAuth as the 2FA provider. The implementation is more structured and implements support for DuoAuth as a Perl module.