-
Notifications
You must be signed in to change notification settings - Fork 483
Added jwt bearer token auth to MedplumClient #2408
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
The latest updates on your projects. Learn more about Vercel for Git ↗︎
|
@@ -140,7 +140,7 @@ describe('Client', () => { | |||
window.localStorage.setItem( |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
is JWT appropriate for client? I thought not - but perhaps I'm missing something.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hm, perhaps some naming confusion.
"JWT" - a format of access token, which includes a set of "claims" signed by the server
Medplum uses JWTs for access tokens, even when you're signing in with email/password or google auth or whatever
"JWT bearer grant type" - a special OAuth flow where the client signs their own JWT using the preconfigured client ID and client secret.
d4beb50
to
2d747da
Compare
Kudos, SonarCloud Quality Gate passed! |
Use eslint-config in examples (#2456) Add bundle to resource array in MedplumClient (#2445) Add server config for logLevel (#2437) Allow `/email` path in CORS (#2455) Add clientId as optional prop to RegisterForm (#2452) Instructions on setting up new patient registration (#2453) Enable sourcemaps in server docker image (#2449) Automatically restart redis docker container on local dev (#2446) Fixes #2439 - clarify node 18+ required (#2442) Fix json bug in access controls docs (#2440) Use user repo in project admin tools (#2435) Preliminary article on auth integration patterns (#2422) Move medplum-demo-bots to /examples (#2403) Fixes #2431 - handle client_id in /auth/newuser (#2434) Fix localStorage infinite loop bug (#2436) Change SearchControl to default to accurate (#2432) Updated title (#2433) Add DocumentReference resource type to ServiceRequest timeline (#2428) Added jwt bearer token auth to MedplumClient (#2408) Update packages/core/src/typeschema/validation.test.ts (#2430) Create sweep.yaml config file (#2427) Update bot-basics.md (#2424) Adding tests to confirm hidden fields behavior (#2425) Fix validation log condition (#2421) Clarify Mutations documentaiton (#2417) Constraint validation (#2321) Document basic functionality of the Medplum App (#2405) Fix code complexity warning in search param details (#2415) Ignore graphiql in sonar analysis (#2414) Fixed more sonar warnings (#2416) Validate Medplum resource profiles (#2404) Update manual mock to use aws-sdk-client-mock (#2407) Fix sonar code smells (#2413) Update packages/app/src/HomePage.tsx (#2412) Update packages/app/src/FormPage.tsx (#2411) Updating broken links found during demo (#2391) Fixes #2396 - block reset password with external auth (#2399) Added docs on $resend operation (#2394) Updated homepage (#2243) Add `~` to SearchControl count to indicate estimated counts (#2380) Add Environment Variable Config Support (#2378) Add merge group CI triggers (#2393) Fixes regression in string array filters (#2392) Perf improvement to getTypedPropertyValue (#2389) Fix merge conflict in validation test (#2390) Cut over to new validation logic (#2382) Add test for profile walking into base type schema (#2388) Adding documentation and examples for CLI optional params to connect to other fhir servers (#2303) Update client-sesv2 manual mock to use aws-sdk-client-mock (#2381) #1314 Add an API Collection for Postman, as well as an env template a… (#2325) Document `_total` search param (#2379) Fixes #2374 - updated jest babel config (#2375) Implement slice validation (#2337) Fix sonar warnings in repo.ts and search.ts (#2373) Fixed build break (#2372) Split repo.ts and search.ts (#2361) Implement Alphabetical Sorting Using localeCompare (#2365) Update lib-storage.ts manual mock to use aws-sdk-client-mock (#2358) Fixes #2052 - Config option to save audit events (#2357) Fixes #2304 - ProjectMembership access-policy search param (#2360) Fixes #2333 - added $versions operation (#2359) ImpliesAtom (#2352) Update client-lambda manual mock to use aws-sdk-client-mock (#2347) Deploy sourcemaps (#2356) Fixes #2354 - always use normalizeOperationOutcome (#2355) Fixes #2350 - estimated count filtering on human name (#2351) Dependency upgrades (#2348) Fixes #2343: Update project operation $expunge everything to use AsyncJob (#2345) update CLI docs on bulk target-directory (#2344) Fixes #2311 - better expression parsing in getSearchParameterDetails (#2324)
Use eslint-config in examples (#2456) Add bundle to resource array in MedplumClient (#2445) Add server config for logLevel (#2437) Allow `/email` path in CORS (#2455) Add clientId as optional prop to RegisterForm (#2452) Instructions on setting up new patient registration (#2453) Enable sourcemaps in server docker image (#2449) Automatically restart redis docker container on local dev (#2446) Fixes #2439 - clarify node 18+ required (#2442) Fix json bug in access controls docs (#2440) Use user repo in project admin tools (#2435) Preliminary article on auth integration patterns (#2422) Move medplum-demo-bots to /examples (#2403) Fixes #2431 - handle client_id in /auth/newuser (#2434) Fix localStorage infinite loop bug (#2436) Change SearchControl to default to accurate (#2432) Updated title (#2433) Add DocumentReference resource type to ServiceRequest timeline (#2428) Added jwt bearer token auth to MedplumClient (#2408) Update packages/core/src/typeschema/validation.test.ts (#2430) Create sweep.yaml config file (#2427) Update bot-basics.md (#2424) Adding tests to confirm hidden fields behavior (#2425) Fix validation log condition (#2421) Clarify Mutations documentaiton (#2417) Constraint validation (#2321) Document basic functionality of the Medplum App (#2405) Fix code complexity warning in search param details (#2415) Ignore graphiql in sonar analysis (#2414) Fixed more sonar warnings (#2416) Validate Medplum resource profiles (#2404) Update manual mock to use aws-sdk-client-mock (#2407) Fix sonar code smells (#2413) Update packages/app/src/HomePage.tsx (#2412) Update packages/app/src/FormPage.tsx (#2411) Updating broken links found during demo (#2391) Fixes #2396 - block reset password with external auth (#2399) Added docs on $resend operation (#2394) Updated homepage (#2243) Add `~` to SearchControl count to indicate estimated counts (#2380) Add Environment Variable Config Support (#2378) Add merge group CI triggers (#2393) Fixes regression in string array filters (#2392) Perf improvement to getTypedPropertyValue (#2389) Fix merge conflict in validation test (#2390) Cut over to new validation logic (#2382) Add test for profile walking into base type schema (#2388) Adding documentation and examples for CLI optional params to connect to other fhir servers (#2303) Update client-sesv2 manual mock to use aws-sdk-client-mock (#2381) #1314 Add an API Collection for Postman, as well as an env template a… (#2325) Document `_total` search param (#2379) Fixes #2374 - updated jest babel config (#2375) Implement slice validation (#2337) Fix sonar warnings in repo.ts and search.ts (#2373) Fixed build break (#2372) Split repo.ts and search.ts (#2361) Implement Alphabetical Sorting Using localeCompare (#2365) Update lib-storage.ts manual mock to use aws-sdk-client-mock (#2358) Fixes #2052 - Config option to save audit events (#2357) Fixes #2304 - ProjectMembership access-policy search param (#2360) Fixes #2333 - added $versions operation (#2359) ImpliesAtom (#2352) Update client-lambda manual mock to use aws-sdk-client-mock (#2347) Deploy sourcemaps (#2356) Fixes #2354 - always use normalizeOperationOutcome (#2355) Fixes #2350 - estimated count filtering on human name (#2351) Dependency upgrades (#2348) Fixes #2343: Update project operation $expunge everything to use AsyncJob (#2345) update CLI docs on bulk target-directory (#2344) Fixes #2311 - better expression parsing in getSearchParameterDetails (#2324)
urn:ietf:params:oauth:grant-type:jwt-bearer
isMedplumAccessToken
helper to determine if usingMedplumClient
with a Medplum server vs generic FHIR serverThis is in service of accessing the Health Gorilla FHIR API using
MedplumClient
, although it would apply to any FHIR server that requires "client assertion" JWT bearer tokens.