A testing tool that sits in front of an OAuth-protected SMART on FHIR sandbox, like the ones hosted by Argonaut Implementation Program participants. It automates the authorization process (using webdriver) and presents the facade of an open server. This is designed to faciliate testing and manual inspection, and as a building block for an OAuth testing suite.
You can use URLs like the following as a FHIR base URL:
http://noauth.smarthealthit.org/open/:server
Where :server
is one of these Argonaut test servers:
allscripts
epic
intersystems
meditech
smart
Note: you may experience a 5s delay if nobody has talked to your target server in more than an hour (since the proxy only refreshes tokens when needed).
http://noauth.smarthealthit.org/open/epic/Observation/Tl4xxjAMDmAdEfs3nmEjOkjNfEKA5NpRW-zNUTlnIyfsB
http://noauth.smarthealthit.org/open/intersys/Patient/450
http://noauth.smarthealthit.org/open/meditech/Patient/S1-B20150826100257463
http://noauth.smarthealthit.org/open/smart/Patient/99912345
docker build -t noauth-proxy .
docker build -t noauth-proxy .
./dev.sh
docker-machine create --driver rackspace noauth-proxy
eval $(docker-machine env noauth-proxy)
docker build -t noauth-proxy .
./prod.sh
You can add your server by submitting a pull request with a .json
file like the ones you see in https://github.com/jmandel/noauth-proxy/tree/master/app/ehr. Briefly:
steps
array provides the manual steps that need to occur to sign into your server and approve an app's access requestoauth
object provides the client configuration details. Your server must suppor this client with aredirect_uri
ofhttp://localhost:8000/fhir-app/