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:
example/terraform/auth_flow_smart_browser.tf
See the postman library.
sh quick-start.sh
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.