{"id":22268107,"url":"https://github.com/curityio/username-password-authenticator","last_synced_at":"2026-02-05T10:16:26.497Z","repository":{"id":25184510,"uuid":"101621184","full_name":"curityio/username-password-authenticator","owner":"curityio","description":"An authenticator to customize username and password flows","archived":false,"fork":false,"pushed_at":"2024-08-08T07:09:39.000Z","size":2572,"stargazers_count":5,"open_issues_count":0,"forks_count":1,"subscribers_count":5,"default_branch":"master","last_synced_at":"2024-08-08T08:49:26.545Z","etag":null,"topics":["authenticator","curity","plugin","username-password"],"latest_commit_sha":null,"homepage":"https://curity.io/resources/learn/codeexamples-username-password-authenticator/","language":"Java","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/curityio.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"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}},"created_at":"2017-08-28T08:25:33.000Z","updated_at":"2024-08-08T07:08:25.000Z","dependencies_parsed_at":"2023-12-27T12:24:23.459Z","dependency_job_id":"eae59542-0b9d-42e4-8e8f-c8284f41c602","html_url":"https://github.com/curityio/username-password-authenticator","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/curityio%2Fusername-password-authenticator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/curityio%2Fusername-password-authenticator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/curityio%2Fusername-password-authenticator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/curityio%2Fusername-password-authenticator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/curityio","download_url":"https://codeload.github.com/curityio/username-password-authenticator/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":227905532,"owners_count":17837906,"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":["authenticator","curity","plugin","username-password"],"created_at":"2024-12-03T11:11:09.065Z","updated_at":"2026-02-05T10:16:21.459Z","avatar_url":"https://github.com/curityio.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Username/Password Authenticator Plugin Example\n\n[![Quality](https://img.shields.io/badge/quality-test-yellow)](https://curity.io/resources/code-examples/status/)\n[![Availability](https://img.shields.io/badge/availability-source-blue)](https://curity.io/resources/code-examples/status/)\n\nThe Curity Identity Server has a built-in [HTML Form Authenticator](https://curity.io/docs/idsvr/latest/authentication-service-admin-guide/authenticators/html.html).\\\nThis example plugin provides a similar implementation using the Curity SDK.\n\n## Customization\n\nThe [Branding and User Experience Resources](https://curity.io/resources/branding-user-experience/) provide example customizations.\\\nIn more advanced scenarios you may also want to take closer control over runtime behavior.\\\nFor these cases, you can use this repo as a starting point and adapt it as required.\n\n## Prerequisites\n\nBefore using this plugin you must be running version 9.2 or later of the Curity Identity Server.\\\nAlso ensure that you are using [credential_mode=standard](https://curity.io/docs/idsvr/latest/system-admin-guide/data-sources/jdbc.html#credential-modes) for your credential manager.\\\nIf you are using older credential storage, use v3.0 of this repo instead.\n\n## Example Deployment\n\nAn [example deployment](test/README.md) is provided that uses the plugin, with an example custom look and feel.\\\nBehavior is largely the same as the built-in HTML Form authenticator, and covers the entire user journey.\n\n![Initial Screen](doc/images/authentication/initial.png)\n\n## Behavior of Flows\n\nA number of flows are available, to manage self sign-up, authentication and account recovery.\\\nEach of these are described, with screenshots and plugin coding details, in the below documents:\n\n- [Authentication](doc/authentication.md)\n- [Create Account](doc/create-account.md)\n- [Activate Account](doc/activate-account.md)\n- [Activate and Set Password](/doc/activate-set-password.md)\n- [Forgot Username](doc/forgot-username.md)\n- [Forgot Password](doc/forgot-password.md)\n- [Set Password](doc/set-password.md)\n\n## Deploying the Plugin\n\nFollow the below steps to run this plugin in your own instances of the Curity Identity Server.\n\n### Update Java Libraries\n\nWhen deployed to the Curity Identity Server, the plugin will use shared Java libraries.\\\nIdentify the versions of these libraries that match your version of the Curity Identity Server.\\\nThis can be done by viewing the [Service Provided Dependencies](https://curity.io/docs/idsvr/latest/developer-guide/plugins/index.html#server-provided-dependencies) page for your version.\\\nThen update the `pom.xml` file of this project with matching versions.\n\n### Build the JAR Files\n\nEnsure that JDK 21 or later is installed, and also the [maven build tool](https://maven.apache.org/install.html).\\\nThen build the plugin code with this command:\n\n```bash\nmvn package\n```\n\nNext gather the following files from the `target` folder:\n\n```text\nidentityserver.plugins.authenticators.usernamepassword-*.jar\ngson-*.jar\nguava-*.jar\ncommons-lang*.jar\n```\n\n### Deploy the JAR Files\n\nDeploy JAR files to your instances of the Curity Identity Server, in a plugins subfolder:\n\n```text\n$IDSVR_HOME/usr/share/plugins/usernamepasswordauthenticator/*.jar\n```\n\n### Use the Plugin\n\nIn the Admin UI, create an instance of the `Username Password Authenticator` to use in your applications:\n\n![New Authenticator](doc/images/shared/new-authenticator.png)\n\n## SDK Links\n\n- Read the [Plugins Developer Guide](https://curity.io/docs/idsvr/latest/developer-guide/plugins/index.html) for an overview of behavior\n- Search the [Curity Identity Server Plugin SDK](https://curity.io/docs/idsvr-java-plugin-sdk/latest/) to better understand SDK objects\n- See the [Plugin Code Examples](https://curity.io/resources/plugins-authenticators/) for many existing plugins to compare against\n\n## Further Information\n\nPlease visit [curity.io](https://curity.io/) for more information about the Curity Identity Server.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcurityio%2Fusername-password-authenticator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcurityio%2Fusername-password-authenticator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcurityio%2Fusername-password-authenticator/lists"}