This is a custom Service Provider Interface (extension) for Keycloak that supports SMART on FHIR EHR-Launch.
aud
audience request parameter for SMART on FHIR, with additional support for this aliased to audience
or resource
. As per SMART on FHIR specs, this audience value must be a fully qualified base FHIR Server endpoint.Using Maven:
cd smart-on-fhir-spi
mvn clean package
cp target/*.jar $KEYCLOAK_HOME/standalone/deployments
See example-usage folder. Alternatively,
Try out a client app with scope of launch
and a launch={context_token_goes_here}
request parameter.
Use the included terraform scripts to configure FHIR scopes, and create a default auth flow that includes the SMART on FHIR custom flow steps.
The auth flows have no impact if the auth request is not a SMART on FHIR request.
see the folder example
for details.
In order for these extensions to work, you must use the flow structure as defined in the Terraform file:
./terraform/modules/smart_on_fhir/auth_flow_smart_browser.tf
See the postman library.
sh ./quick-start.sh
.\quick-start.ps1
This quick start allows you to try out this Keycloak extension and related configurations. It expects that you have Docker Desktop installed.
This will build and deploy the docker group/bundle consisting of two services:
To try this out, use Postman. Included in this repo, is example/postman
folder containing a postman collection you can import into Postman app. To try out the smart service.