{"id":16883395,"url":"https://github.com/hardillb/2fa-demo","last_synced_at":"2025-11-21T13:30:15.772Z","repository":{"id":68666162,"uuid":"54887615","full_name":"hardillb/2FA-Demo","owner":"hardillb","description":"A basic NodeJS/ExpressJS app that uses 2FA with both Google TOTP and Fido U2F","archived":true,"fork":false,"pushed_at":"2020-12-04T15:35:02.000Z","size":123,"stargazers_count":10,"open_issues_count":1,"forks_count":6,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-02-03T20:51:46.001Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hardillb.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":"github:[hardillb]"},"created_at":"2016-03-28T11:24:45.000Z","updated_at":"2025-01-18T09:09:09.000Z","dependencies_parsed_at":null,"dependency_job_id":"f6c45200-9fc1-4d58-923c-d5da97ace13e","html_url":"https://github.com/hardillb/2FA-Demo","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hardillb%2F2FA-Demo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hardillb%2F2FA-Demo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hardillb%2F2FA-Demo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hardillb%2F2FA-Demo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hardillb","download_url":"https://codeload.github.com/hardillb/2FA-Demo/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239625901,"owners_count":19670777,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-13T16:11:33.131Z","updated_at":"2025-11-21T13:30:15.706Z","avatar_url":"https://github.com/hardillb.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 2FA-Demo\n\nAn application to demo providing multiple [Two Factor Authentication][1] mechanisms.\n\nThe application supports both TOTP method supported by the [Google Authenticator][2] application and [U2F][3] authentication tokens.\n\nWay more detail can be found on my blog post about this [here][4]\n\n## Running\n\nThe application requires a Mongodb database to act as a backend to store user credentials. The database URL can be either passed \nin with the environment variable `MONGO_URL` or picked up from `VCAP_SERVICES`, it defaults to `mongodb://localhost/users`\n\nhttps is required, a selfsigned certificate for localhost is included, but these should be replaced for a proper deployment.\n\nClone the project, run\n\n`npm install`\n\nThen\n\n`node index.js`\n\nPoint your browser [https://localhost:3000][5]\n\n[1]: https://en.wikipedia.org/wiki/Two-factor_authentication\n[2]: https://play.google.com/store/apps/details?id=com.google.android.apps.authenticator2\n[3]: https://en.wikipedia.org/wiki/Universal_2nd_Factor\n[4]: http://www.hardill.me.uk/wordpress/2016/03/30/adding-2-factor-authentication-to-your-expressjs-app/\n[5]: https://localhost:3000","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhardillb%2F2fa-demo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhardillb%2F2fa-demo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhardillb%2F2fa-demo/lists"}