{"id":22835402,"url":"https://github.com/dxw/2fa","last_synced_at":"2025-06-18T21:33:11.174Z","repository":{"id":33668158,"uuid":"37320772","full_name":"dxw/2fa","owner":"dxw","description":"WordPress plugin for 2 factor authentication (TOTP and SMS)","archived":false,"fork":false,"pushed_at":"2025-04-22T03:34:08.000Z","size":5462,"stargazers_count":6,"open_issues_count":8,"forks_count":2,"subscribers_count":19,"default_branch":"main","last_synced_at":"2025-04-24T00:08:54.071Z","etag":null,"topics":["govpress","packagist","php","wordpress-plugin"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dxw.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":null,"code_of_conduct":"CODE_OF_CONDUCT.md","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}},"created_at":"2015-06-12T12:30:05.000Z","updated_at":"2024-12-19T16:42:05.000Z","dependencies_parsed_at":"2023-01-15T02:00:59.017Z","dependency_job_id":"eb59110b-7aba-4bed-9a0e-ce3cabdf9a98","html_url":"https://github.com/dxw/2fa","commit_stats":{"total_commits":211,"total_committers":7,"mean_commits":"30.142857142857142","dds":0.1943127962085308,"last_synced_commit":"e8a58cdb024311a9dc930ad706aa6020d9f4108f"},"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dxw%2F2fa","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dxw%2F2fa/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dxw%2F2fa/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dxw%2F2fa/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dxw","download_url":"https://codeload.github.com/dxw/2fa/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250535099,"owners_count":21446508,"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":["govpress","packagist","php","wordpress-plugin"],"created_at":"2024-12-12T22:09:40.526Z","updated_at":"2025-04-24T00:09:03.789Z","avatar_url":"https://github.com/dxw.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 2fa\n\nWordPress plugin for 2 factor authentication (TOTP and SMS)\n\n## Installation\n\nAt the moment this plugin must be installed on a multisite installation.\n\nTo enable SMS authentication add these constants to your wp-config.php:\n\n    define('TWILIO_ACCOUNT_SID', 'AC...');\n    define('TWILIO_AUTH_TOKEN', '...');\n    define('TWILIO_NUMBER', '...');\n\nYou can find those [here](https://www.twilio.com/user/account/voice-sms-mms/getting-started).\n\nTo disable 2FA options from being selectable, add constants as follows:\n* `2FA_SMS_DISABLED` to disable SMS (for example if no Twilio account is setup)\n* `2FA_SMART_DEVICE_DISABLED` to disable smartphone or tablet option\n\n## Usage\n\nSuper admins can decide which users must use 2FA. Users cannot opt to start using 2FA if it has not been enabled for their account.\n\nSuper admins can do this in two ways - setting an option on the user's profile to \"enabled\", or by checking the checkbox in the list of sites which forces all users of a site to use 2FA.\n\nUsers will then be forced to setup 2FA the next time they log in (it will not interrupt a user who is already logged in).\n\nThey have the option of using TOTP (apps like Google Authenticator) or SMS. And they can configure up to 2 devices (controlled by a constant).\n\nAdmins can also set the number of days users can skip requests for their second factor when logging in.\n\n## wp-cli command\n\n```\n% wp 2fa fails\n% wp 2fa user alice\n% wp 2fa reset bob\n```\n\n## Tests\n\nUnit tests and linter:\n\n```\n% composer install\n% vendor/bin/peridot spec\n% vendor/bin/php-cs-fixer fix --dry-run -v --diff\n```\n\nIntegration tests:\n\n```\n% tests/run-with-docker.sh\n```\n\n## Licence\n\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdxw%2F2fa","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdxw%2F2fa","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdxw%2F2fa/lists"}