A demonstration SMART confidential client for testing the new features of the SMARTv2 launch protocols.
A copy of this demo is hosted on Glitch at: https://proud-wooden-payment.glitch.me/
You can test the static hosted demo against the SMART app launcher fork found here: https://smart.argo.run
See below for a longer link with pre-populated values for the launcher.
Expand the new options panel. These options are intended to represent values which would normally be configured once when an app is first registered with an EHR.
Field | Selection or Value |
---|---|
Client Identity Validation Method | client-confidential-asymmetric |
Redirect URIs | https://proud-wooden-payment.glitch.me/authorized |
JWKS URI | https://proud-wooden-payment.glitch.me/jwks.json |
JWKS Inline | Clear this field after populating a jwks.json uri above and it will automatically populate with the fetched contents of the JWKS URI. |
After setting these values, enter the launch URI in the bottom configuration panel.
Launch URI |
---|
https://proud-wooden-payment.glitch.me/launch/ |
Feel free to use this demo as a starting point or learning tool.
Clone the repo and select a compatible version of npm
.
nvm use 16
npm ci
npm run start
You should see output similar to this.
can@msft-mbp ~/code/test/demo-smart-cc (main) $ nvm use 16
Now using node v16.5.0 (npm v7.19.1)
can@msft-mbp ~/code/test/demo-smart-cc (main) $ npm ci
npm WARN deprecated [email protected]: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.
added 73 packages, and audited 74 packages in 1s
6 packages are looking for funding
run `npm fund` for details
found 0 vulnerabilities
can@msft-mbp ~/code/test/demo-smart-cc (main) $ npm run start
> [email protected] start
> node ./src/index.js
(node:76356) ExperimentalWarning: stream/web is an experimental feature. This feature could change at any time
(Use `node --trace-warnings ...` to show where the warning was created)
Demo Confidential Client listening on port 2021!
http://localhost:2021/jwks.json
http://localhost:2021/launch
http://localhost:2021/authorized
Creating new keys in: demo.keys