{"id":33077366,"url":"https://github.com/softwarefactory-project/keycloak-filter-provider-users","last_synced_at":"2026-06-01T12:31:33.208Z","repository":{"id":165489387,"uuid":"620352705","full_name":"softwarefactory-project/keycloak-filter-provider-users","owner":"softwarefactory-project","description":null,"archived":false,"fork":false,"pushed_at":"2023-05-15T09:18:25.000Z","size":11006,"stargazers_count":8,"open_issues_count":0,"forks_count":0,"subscribers_count":7,"default_branch":"master","last_synced_at":"2025-11-19T05:02:46.694Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"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/softwarefactory-project.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}},"created_at":"2023-03-28T14:11:11.000Z","updated_at":"2024-04-30T18:27:45.000Z","dependencies_parsed_at":null,"dependency_job_id":"294c1d91-5342-4c5c-8aa2-c68914d44434","html_url":"https://github.com/softwarefactory-project/keycloak-filter-provider-users","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/softwarefactory-project/keycloak-filter-provider-users","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/softwarefactory-project%2Fkeycloak-filter-provider-users","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/softwarefactory-project%2Fkeycloak-filter-provider-users/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/softwarefactory-project%2Fkeycloak-filter-provider-users/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/softwarefactory-project%2Fkeycloak-filter-provider-users/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/softwarefactory-project","download_url":"https://codeload.github.com/softwarefactory-project/keycloak-filter-provider-users/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/softwarefactory-project%2Fkeycloak-filter-provider-users/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33775857,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-01T02:00:06.963Z","response_time":115,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":"2025-11-14T11:00:29.137Z","updated_at":"2026-06-01T12:31:33.198Z","avatar_url":"https://github.com/softwarefactory-project.png","language":"Java","funding_links":[],"categories":["Community Extensions"],"sub_categories":[],"readme":"# keycloak-filter-provider-users\n\nThis extension lets an administrator automatically disable users that log in via an external identity provider, unless they belong to a list.\nThe allowed users can be filtered by username or emails. This way, for example, **only** some predefined users from Facebook can access\nyour application instead of anyone with a Facebook account.\n\nThis is intended to be very simple and straightforward. For anything more elaborate you may want to consider [this extension instead](https://github.com/sventorben/keycloak-restrict-client-auth).\n\nThis was adapted from [this article](https://developers.redhat.com/blog/2020/12/30/how-to-restrict-users-being-authenticated-in-keycloak-during-identity-brokering): it fixes bugs and implements\nthe allow list as user input rather than a file.\n\n# Build\n\n```\nmvn clean install\n```\n\n# Deploy\n\nCopy the built jar into {KEYCLOAK_HOME}/standalone/deployments (for Wildfly) or /opt/keycloak/providers (for Quarkus).\n\nYou can also build a custom container image that includes the extension by using the Dockerfile in the repo:\n\n```\npodman build -t custom_kc -f Dockerfile\n```\n\n# Configure\n\n1. Click on \"Authentication\" for your realm.\n2. Duplicate the \"First broker login\" flow and edit the copy.\n3. Add a step: pick \"Enable User if Username in allow list\"\n4. Move that step below \"Create User if Unique\"\n5. Change step requirement to \"Required\"\n6. Click on the cog to configure your allow list with comma-separated values\n7. Pick your external identity provider\n8. In \"Advanced Settings\" choose your duplicated flow as the first login flow.\n\nSee the GIF below for a visual demo.\n\n![image](./idp_allow_list.gif)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsoftwarefactory-project%2Fkeycloak-filter-provider-users","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsoftwarefactory-project%2Fkeycloak-filter-provider-users","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsoftwarefactory-project%2Fkeycloak-filter-provider-users/lists"}