A list of popular sites and whether or not they support two factor authentication.
The goal of this project is to build a website (2fa.directory) with a list of popular sites that support two factor authentication, as well as the methods that they provide.
Our hope is to aid consumers who are deciding between alternative services based on the security they offer for their customers. This project also serves as an indicator of general security efforts used on a site.
2fa.directory is only possible thanks to community contributions. We welcome all contributions to the project. If you would like to contribute, please read the entire guidelines in CONTRIBUTING.md.
docker pull 2factorauth/twofactorauth
sudo snap install ruby --classic
npm i babel-minify
bundle config set path './vendor/cache'
bundle install
This is the most difficult option and recommended for environments where Docker or Snap can't be used.
GNU/Linux and WSL:
sudo apt install build-essential ruby-bundler ruby-dev make gcc g++ zlib1g-dev npm
npm i babel-minify
bundle config set path './vendor/cache'
bundle install
MacOS (Requires Xcode):
# Install homebrew
xcode-select --install
curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh
# Install ruby & nodejs(npm)
brew install ruby
brew install nodejs
echo 'export PATH="/usr/local/opt/ruby/bin:$PATH"' >> ~/.bash_profile
# Install Bundler and dependencies
gem install bundler
bundle config set path './vendor/cache'
bundle install
npm i babel-minify
Docker (Windows/Linux/MacOS):
docker run -p 4000:4000 -v ${pwd}:/twofactorauth 2factorauth/twofactorauth
Snap/Manual:
# Create _data/all.json
ruby ./scripts/join-entries.rb > _data/all.json
# Generating API files
mkdir -p api/v1 api/v2 api/v3
bundle exec ruby ./scripts/APIv1.rb
bundle exec ruby ./scripts/APIv2.rb
bundle exec ruby ./scripts/APIv3.rb
# Building the site
bundle exec jekyll build
# Minify JS (Optional)
./scripts/minify-js.sh
# Building regional sites (Optional)
ruby ./scripts/regions.rb
To run the site on a minimal WEBrick webserver, do:
bundle exec jekyll serve
The website should now be accessible from http://localhost:4000
.
This code is distributed under the MIT license. For more info, read the LICENSE file distributed with the source code.