{"id":20285855,"url":"https://github.com/chekist32/2fa-plugin-jenkins","last_synced_at":"2025-09-22T16:31:23.641Z","repository":{"id":242030971,"uuid":"808266257","full_name":"chekist32/2fa-plugin-jenkins","owner":"chekist32","description":"The plugin that integrates 2FA with the default Jenkins user management system.","archived":false,"fork":false,"pushed_at":"2024-09-23T08:25:08.000Z","size":1465,"stargazers_count":1,"open_issues_count":1,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2024-11-14T14:32:49.616Z","etag":null,"topics":["2fa","authentication","jenkins-plugin","otp-email","security","totp"],"latest_commit_sha":null,"homepage":"","language":"Java","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/chekist32.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","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}},"created_at":"2024-05-30T17:59:49.000Z","updated_at":"2024-06-27T02:12:26.000Z","dependencies_parsed_at":"2024-05-31T09:00:16.174Z","dependency_job_id":"6b16299c-916a-4fa1-9336-d9f252eca677","html_url":"https://github.com/chekist32/2fa-plugin-jenkins","commit_stats":null,"previous_names":["chekist32/2fa-plugin-jenkins"],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chekist32%2F2fa-plugin-jenkins","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chekist32%2F2fa-plugin-jenkins/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chekist32%2F2fa-plugin-jenkins/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chekist32%2F2fa-plugin-jenkins/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/chekist32","download_url":"https://codeload.github.com/chekist32/2fa-plugin-jenkins/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":233862679,"owners_count":18742010,"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":["2fa","authentication","jenkins-plugin","otp-email","security","totp"],"created_at":"2024-11-14T14:29:13.721Z","updated_at":"2025-09-22T16:31:18.349Z","avatar_url":"https://github.com/chekist32.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 2FA for Jenkins\n\u003cp align=\"center\"\u003e\n    \u003cimg src=\"./docs/images/plugin_logo.png\" alt=\"logo\" /\u003e\n\u003c/p\u003e\n\n\n## Description\nThis project is a fork of the [jenkinsci/miniorange-two-factor-plugin](https://github.com/jenkinsci/miniorange-two-factor-plugin) with a refactored code base, removed banners and added TOTP Authentication.\n\n**Supported Authentication methods**\n- Security Questions\n- OTP Over Email\n- TOTP Authenticator\n- Duo Push Notification [Not implemented yet]\n- Yubikey hardware token [Not implemented yet]\n- OTP over SMS [Not implemented yet]\n- Backup code [Not implemented yet]\n\n**Features of Jenkins 2FA plugin**\n- Enable and disable 2FA for all users in a single click\n- 2FA supported for all security realms\n- Enable 2FA for users in specific groups [Not implemented yet]\n- Disable 2FA for users in specific groups [Not implemented yet]\n\n\n## Getting started\n\n### Prerequisites\n- Jenkins ≥ 2.361.4\n- [Mailer Plugin](https://plugins.jenkins.io/mailer/)\n\n### Installation\n\n- #### Download plugin \n    - Go to the [Releases page](https://github.com/chekist32/2fa-plugin-jenkins/releases) and download the latests plugin release.\n\n- #### Verify signature (Optional)\n    - Import the public signing key.\n    ```shell \n    gpg --keyserver keyserver.ubuntu.com --recv-keys EB39AE11A97F961E7F1C97528C65DB4C128B09E9\n    ```\n    - Download related signature and verify.\n    ```shell\n    gpg --verify plugin_file_name.hpi.sig\n    ```\n    You should see something like this:\n    ```shell\n    $ gpg --verify 2fa-jenkins-plugin-1.0.0.hpi.sig \n    gpg: assuming signed data in '2fa-jenkins-plugin-1.0.0.hpi'\n    gpg: Signature made Fri 31 May 2024 08:31:02 PM CEST\n    gpg:                using EDDSA key EB39AE11A97F961E7F1C97528C65DB4C128B09E9\n    gpg: Good signature from \"github-chekist32\" [unknown]\n    gpg: WARNING: This key is not certified with a trusted signature!\n    gpg:          There is no indication that the signature belongs to the owner.\n    Primary key fingerprint: EB39 AE11 A97F 961E 7F1C  9752 8C65 DB4C 128B 09E9\n    ```\n- #### Install plugin\n    - Go to **Manage Jenkins** \u003e **Plugins** \u003e **Advanced settings**\n    - Click **Choose file** button and upload the .hpi file.\n    - Click **Deploy**.\n    ![image](docs/images/plugin_installation.png)\n    - Reload the Jenkins instance.\n\n\n## Usage\n\n### Important Note\n**A Jenkins instance must have configured https in order to be able to use this plugin.**\n\n### Configure global settings (Admin)\n- Go to **Manage Jenkins** \u003e **2FA Global Configurations**\n![image](docs/images/global_config.png)\n\n- Enable 2FA for all users\n![image](docs/images/global_config_enable_2fa.png)\n\n- Choose methods that can be used by users as 2FA\n![image](docs/images/global_config_enable_2fa_methods.png)\n\n#### Otp Over Email\n- Go to **Manage Jenkins** \u003e **Configure System (E-mail Notification section)**\n![image](docs/images/mailer_setup.png)\n\n- Here you have to setup the mailer plugin in order to be able to use the Otp Over Email method. You can follow [this guide](https://github.com/jenkinsci/mailer-plugin?tab=readme-ov-file#configuration).\n![image](docs/images/mailer_setup2.png)\n\n\n### Configure specific 2FA Method (User)\n- Go to **User profile** \u003e **2FA Configuration**\n![image](docs/images/user_tfa_config.png)\n\n- Here you can configure or reset 2FA methods enabled in global settings\n![image](docs/images/user_2fa_config_methods.png)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchekist32%2F2fa-plugin-jenkins","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fchekist32%2F2fa-plugin-jenkins","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchekist32%2F2fa-plugin-jenkins/lists"}