Add features for SMARTv2
I'm opening this as "draft" to start a conversation -- @vlad-ignatov what do you think about making a v2 branch to support SMART v2 WIP? I've been maintaining this outside of SMART in the early days, but as we move through the HL7 process, it'd be good to get the groundwork merged into an appropriate branch of the upstream smart-on-fhir/smart-launcher project...
BTW this branch is what's deployed for Connectathon at https://smart.argo.run/
Yes, i see this is introducing a lot of changes and merging it properly will be difficult. In fact, I did merge it but I am also making other changes to the sandbox...
- This project is a little outdated so I wanted to do some clean up and upgrade before introducing new features. I am doing that in branch
v2, which is currently deployed to https://launch.smarthealthit.org/ (as a trail run). If people do not complain about something that is not covered by the tests, it will be merged back tomaster. - Your changes have been merged to branch
v3which is currently deployed to https://smart-launcher-staging.herokuapp.com/. Please give it a try. It was a complex merge and I may have messed up something. Note that https://smart-launcher-staging.herokuapp.com/ is for test deployments and is not guaranteed to host v3 forever. - I also want to switch to TypeScript (at least on the back-end) but I just don't have the time for that now with all the upcoming grant work.
I think the next step right now would be a fhirclient update. Other than the PKCE support, can you please describe what other changes you have made to it?
Thanks for taking a look! Changes include:
- PKCE
- Support for SMARTv2 discovery capabilities
- Support for POST-based authorization
- Support for token introspection with context including
fhirUserandpatient - Support for SMARTv2 style scopes like category-based Observations
- Granular Controls demo app that demonstrates the features above
Changes still planned for SMARTv2 compatibility:
- https://github.com/microsoft-healthcare-madison/smart-launcher/issues/16
- https://github.com/microsoft-healthcare-madison/smart-launcher/issues/14
- https://github.com/microsoft-healthcare-madison/smart-launcher/issues/15