{"repo":"svrooij/identityproxy","free":true,"listed":false,"github":"https://github.com/svrooij/identityproxy","clone":"git clone https://github.com/svrooij/identityproxy.git","description":"An IDP impersonator container for integration testing","language":"C#","stars":11,"topics":["entra-id","keycloak","openid-connect","hacktoberfest"],"license":"GPL-3.0","category":"deployment-docker-iac","readme_excerpt":"IdentityProxy IdentityProxy is a proxy that sits between your API (protected with tokens from an IdP) and your Identity Provider (IdP) to provide a way to mock tokens during integration tests. More details here. Usage The best way to use IdentityProxy is the run it as a TestContainer. This way you can start the proxy in your test setup, and it will be automatically stopped when the tests are done. Check out this example project on how to test a protected API using IdentityProxy as TestContainer and the WebApplicationFactory . TestContainer .NET Nuget package Docker The IdentityProxy is just a Docker container ghcr.io/svrooij/identityproxy:latest . You can run it with the following command: The EXTERNAL URL is the URL where the proxy is reachable from the outside. The IDENTITY AUTHORITY is the base URL of the IdP to mock. The proxy will then listen on port 8080 and forward requests to the IdP. You can also check out the interactive documentation at http://localhost:8080/scalar/ or the openapi spec at http://localhost:8080/openapi/v1.json Get a mocked token If you want a token you can request it from the /api/identity/token endpoint. The token will be signed with a certificate that is generated on startup. This certificate (the public key) is also injected in the JWKS response (so the server will accept the tokens as if they were real). The sub (Subject) claim is required, everything else is optional. Microsoft Entra also uses the aud (Audience) claim. Any additional claims you","default_branch":null,"files":null,"tree":[],"storefront":"/r/svrooij","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/svrooij/identityproxy/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}