microsoft / microsoft/aspire

[Tracking] Keycloak integration roadmap

Open
#1,326 30 comments 22 reactions 0 assignees View on GitHub
area-integrations keycloak
Dominant language
C#
Stars
6.3k
Forks
991
Avg merge
2d 15h
Merged PRs (30d)
196

Description

## Purpose

This issue tracks the work required to complete and mature Aspire's Keycloak hosting and authentication integrations. The initial integration shipped in #4289; active work is tracked through the sub-issues below.

Narrow regressions should remain standalone issues unless they expose a missing roadmap capability.

## Active roadmap

### Production readiness and connectivity

- [ ] #6004 — production deployment, HTTPS, and reverse-proxy configuration
- [ ] #6084 — external databases through `WithReference`
- [ ] #7263 — connecting applications to an existing Keycloak instance
- [ ] #14343 — reverse-proxy subpaths and health checks

### Resource modeling and desired configuration

- [ ] #5092 — first-class realm resource and realm endpoint modeling
- [ ] #19693 — desired-state configuration using `keycloak-config-cli`
- [ ] #19692 — Microsoft Entra ID as a Keycloak identity provider

### Samples and product polish

- [ ] microsoft/aspire-samples#416 — representative Keycloak authentication samples
- [ ] #4856 — official Keycloak icon/logo

## Completed baseline

- [x] #4289 — initial `Aspire.Hosting.Keycloak` and `Aspire.Keycloak.Authentication` integrations
- [x] #3201 — initial playground coverage
- [x] #5086 — support importing individual realm files as well as directories
- [x] #6113 — Keycloak health checks
- [x] #6890 — HTTPS development certificate support for non-project resources
- [x] #13807 — deterministic HTTPS endpoint configuration
- [x] #16979 / #17058 — stable HTTPS primary endpoint and token issuer
- [x] OpenTelemetry export is enabled by default by the hosting integration

## Consolidated issues

- #8034 is covered by #6084. The Azure PostgreSQL reference-expression prerequisites shipped in #11051; the remaining Keycloak work is the first-class database reference experience.
- #8064 is covered by #6004, including direct HTTPS, custom certificates, and TLS termination behind a reverse proxy.

## Related platform work

These issues may affect individual scenarios but are broader than the Keycloak integration and are not Keycloak sub-issues:

- #18740 — configurable application-scoped OTLP receiver endpoint
- #18097 — deploy-time values produced by running resources

## Original proposal

Original issue text

I propose adding a Keycloak component to our system for managing authentication and login processes. This integration would be incredibly beneficial, particularly for those using Keycloak, as it would:

- Ensure consistency in different environments.
- Aid in replicating production issues for better troubleshooting.
- Enhance testing capabilities for authentication-related functionalities.

The original proposal suggested adding a Keycloak container to the AppHost and referencing it from application projects. That baseline capability shipped in #4289.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.