Fake Identity Provider
Use me instead of your real identity provider (Google or Facebook etc.) in development and testing to easily create test users for your application.
On the authorization screen you can select a randomly generated username or enter a numeric PIN that will "seed" the username generation giving you a stable selection of "random" usernames.
Everything You Need to Get Started
Configuration documents
Test it out with OIDC Debugger client at https://openidconnect.net/
Manual Configuration
Authorization Endpoint:https://oauth.sdk42.com/authorize
Token Endpoint:https://oauth.sdk42.com/token
User Info Endpoint:https://oauth.sdk42.com/userinfo
Frequently Asked Questions
I am Aarne, the founder of YourOpinion.is (the best free AI native survey platform). And I built this fake identity provider to help my team and me develop and test our application more efficiently. We needed a simple way to simulate different user roles without the hassle of managing real accounts, so I created this tool to streamline our workflow and make testing easier for everyone involved.
We decided to open it to everyone because we believe it can be a valuable resource for other developers facing similar challenges. Also we are using it actively ourselves, so it creates no extra maintenance burden for us.
Modern applications rely on external identity providers instead of traditional passwords. This is especially common in systems using OAuth, OpenID Connect, or social login. During development and testing, we need to simulate multiple user roles. That’s where a fake identity provider comes in:
- No need for real accounts: Instead of asking every developer or tester to create Google (or other provider) accounts and configure them locally, you can just use the fake provider.
- Shared test users: Your team can agree on shared PINs for test accounts. For example:
- PIN 345 → Shared test accounts
- Frederik Abshire → Admin user
- Dejon King-Pagac → Blocked user
- Ideal for E2E testing: Real identity providers often have strict security and anti-automation measures. This is good in production, but makes automated testing harder.
- Lax security by design: This fake provider intentionally skips most security requirements, making it perfect for local development and end-to-end automation.
All configurations like client_id and client_secret are safe to commit to source control. This makes the applications easier to set up and reduces friction for new team members.
Every user has a data-testid attribute with the format test-user-{[1-9]}
The page displays total of 9 users. If PIN is set then first 7 users will be fixed identities and last 2 users will be randomly generated on every page load
For automated tests we recommend picking `data-testid="test-user-9"` to get a random user (works as expected even if the pin was set by accident). We recommend using a testcase specific pin for creating stable users
This is a trivial app, anyone can rebuilt it in 30 minutes :) We published it because firstly we need it, and setting up the domains and hosting still takes a bit of time
Feel free to use the hosted version, but if you want to host your own (or contribute changes) then the source is available and we are happy to publish the repo on first request (MIT license as usual)
Just give me a ping on LinkedIn and we can discuss the details.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.