profile
viewpoint
If you are wondering where the data of this site comes from, please visit https://api.github.com/users/barabo/events. GitMemory does not store any data, but only uses NGINX to cache data for a period of time. The idea behind GitMemory is simply to give users a better reading experience.
Carl Anderson barabo Microsoft United States

barabo/advanced-shell-history 109

Advanced command line shell history - save your bash history to sqlite3 automatically!

HL7/smart-web-messaging 30

SMART Web Messaging Specification Development

cds-hooks/sandbox-cds-services 5

CDS Services included in the CDS Hooks Sandbox

HL7/JIRA-Spec-Artifacts 2

Manages the artifacts, pages and other lists associated with all HL7 projects managed through JIRA feedback projects

barabo/swm-dd-demo 1

Demo code for the June 2021, HL7 DevDays - SMART Web Messaging Events

barabo/datadogpy 0

The Datadog Python library

barabo/demo-auc-app 0

A demonstration SMART app that serves AUC external guidance for PAMA

barabo/demo-swm-apps 0

A pair of apps to facilitate development of the SMART Web Messaging Client library.

push eventHL7/JIRA-Spec-Artifacts

lmckenzi

commit sha 778689a42a83a921bed2c73af6dc9afd09eb09bc

Deploying to gh-pages from master @ 929295ee459787021ea258cd7b6500fb462ec541 🚀

view details

push time in a day

push eventmicrosoft-healthcare-madison/demo-smart-cc

Carl Anderson

commit sha c9485538db43c5171f66f3438e36270caba6ea9b

fix: sets the algorithm to 'ES384'

view details

push time in 2 days

push eventmicrosoft-healthcare-madison/demo-smart-cc

Carl Anderson

commit sha 11b6b7cdd84586d3ccd3296838c087b67c40210a

fix: trust the proxy to enable glitch hosted demos

view details

push time in 2 days

push eventmicrosoft-healthcare-madison/demo-smart-cc

Carl Anderson

commit sha 8d205bda31dea42abb7a82f849892edd35cc56a5

fix: was missing a few files

view details

push time in 2 days

create barnchmicrosoft-healthcare-madison/demo-smart-cc

branch : carls_updates

created branch time in 2 days

issue openedmicrosoft-healthcare-madison/smart-launcher

Is the PKCE checkbox still needed?

I believe the IG now states that PKCE is required for all types of clients, so we should remove the PKCE checkbox from the UI and eliminate the code paths where it could be false from the handlers.

created time in 2 days

issue openedmicrosoft-healthcare-madison/demo-smart-cc

PKCE required?

If PKCE is required, remove the conditional logic surrounding it from the getToken code.

  if (PKCE) {
    params['code_verifier'] = session.pkceVerifier;
  }

created time in 2 days

pull request commentmicrosoft-healthcare-madison/demo-smart-cc

Dan updates

Thanks, Dan!

I'm having a hard time understanding this error I see when I run this locally against a local smart launcher. Here's what I see in the cc output.

(node:60539) 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)
http://localhost:8443/v/r4/fhir token endpoint must support 'private_key_jwt'
/Users/can/code/test/dan/demo-smart-cc/node_modules/axios/lib/core/createError.js:16
  var error = new Error(message);
              ^

Error: Request failed with status code 401
    at createError (/Users/can/code/test/dan/demo-smart-cc/node_modules/axios/lib/core/createError.js:16:15)
    at settle (/Users/can/code/test/dan/demo-smart-cc/node_modules/axios/lib/core/settle.js:17:12)
    at IncomingMessage.handleStreamEnd (/Users/can/code/test/dan/demo-smart-cc/node_modules/axios/lib/adapters/http.js:269:11)
    at IncomingMessage.emit (node:events:406:35)
    at endReadableNT (node:internal/streams/readable:1331:12)
    at processTicksAndRejections (node:internal/process/task_queues:83:21) {
  config: {
    url: 'http://localhost:8443/v/r4/auth/token',
    method: 'post',
    data: 'grant_type=client_credentials&client_assertion_type=urn%3Aietf%3Aparams%3Aoauth%3Aclient-assertion-type%3Ajwt-bearer&client_assertion=eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzM4NCIsImtpZCI6Im1ud0tfYzNoNm5DLVlaQ2lic05pcnpYYmhicXMxdnRwZzRtMHpicG9RWVUifQ.eyJpc3MiOiJkZW1vIE0yTSBjbGllbnQgaWQiLCJzdWIiOiJkZW1vIE0yTSBjbGllbnQgaWQiLCJhdWQiOiJodHRwOi8vbG9jYWxob3N0Ojg0NDMvdi9yNC9hdXRoL3Rva2VuIiwiZXhwIjoxNjMxNTk2MDUwLCJqdGkiOiI5NGQzYWMzNS1kNGY5LTQzOTQtOTY5OS1hYzAwNDZlZTlhYzIifQ.nFEjCISPQnCRh333EC1iFj71iLIXzI5HfGxG28JJsZ6DmzskXDe4ktBnDSUL7qYSOCdbfnQjmXbes-k2uKAuG4s6BVKGGLOyOgj9LZbUEH2zGf08s2KUACByo1d4I-nuKx4l6gHsh10ZBFICanmPGwLficzVLRMrq3bytdTK5r7l2oJ_nL1Hnui-8nredPGAkjj5-MrpUhbPUcADjFIxVb_n8s_z1oDzu6sZRyyb5RAWpPxFrqQdWlFI8LtdZ6OV8Q63kQcxEDXkHPnO_EGfp7bFQm95e8XKx6PZcMs5s6WGYenEH3X0c1KD1nr02OQR9YDdQWMmLy1XN6-EyEt92w&scope=user%2F*.*',
    headers: {
      Accept: 'application/json, text/plain, */*',
      'Content-Type': 'application/x-www-form-urlencoded',
      'User-Agent': 'axios/0.21.2',
      'Content-Length': 819
    },
    transformRequest: [ [Function: transformRequest] ],
    transformResponse: [ [Function: transformResponse] ],
    timeout: 0,
    adapter: [Function: httpAdapter],
    xsrfCookieName: 'XSRF-TOKEN',
    xsrfHeaderName: 'X-XSRF-TOKEN',
    maxContentLength: -1,
    maxBodyLength: -1,
    validateStatus: [Function: validateStatus],
    transitional: {
      silentJSONParsing: true,
      forcedJSONParsing: true,
      clarifyTimeoutError: false
    }
  },
  request: <ref *1> ClientRequest {
    _events: [Object: null prototype] {
      abort: [Function (anonymous)],
      aborted: [Function (anonymous)],
      connect: [Function (anonymous)],
...
    data: {
      error: 'invalid_client',
      error_description: 'Invalid client details token: jwt malformed'
    }
  },
  isAxiosError: true,
  toJSON: [Function: toJSON]
}

dan_out.txt

dancinnamon-okta

comment created time in 3 days

starteddancinnamon-okta/demo-smart-cc

started time in 3 days

create barnchmicrosoft-healthcare-madison/demo-smart-cc

branch : dan

created branch time in 3 days

push eventHL7/JIRA-Spec-Artifacts

lmckenzi

commit sha 255d17ba896e005fe3881293b851c1eadc87857e

Deploying to gh-pages from master @ abeacf8b4b67f477c61f662c807001a6227aa1e9 🚀

view details

push time in 3 days

startedmicrosoft-healthcare-madison/smart-launcher

started time in 3 days

issue closedmicrosoft-healthcare-madison/smart-launcher

internal server error when jwks value is missing

When testing asymmetric auth in the c10n-2021-09 branch, if the jwks_uri is provided but the jwks static value is not - the server returns a 500.

closed time in 3 days

barabo

issue closedmicrosoft-healthcare-madison/smart-launcher

asymmetric key auth should handle jwks with multiple keys

When validating the client JWT in the TokenHandler, if the jwks keystore contains more than one signing key, the handler should be able to verify the signature as long as one of the signing keys is correct.

closed time in 3 days

barabo

push eventmicrosoft-healthcare-madison/smart-launcher

Carl Anderson

commit sha c077b22338702f4e0eb49d26f1c763dc6fbcbcc9

nit: removed spurious comment

view details

Carl Anderson

commit sha f4f0726a4a1ae6130ed86bcff7ef8cc0b257cb26

fixes #21: missing jwks value crashes server

view details

Carl Anderson

commit sha 489fedcbf77c491ecd1016e5b4e83593b43a9341

Merge branch 'c10n-2021-09' of github.com:microsoft-healthcare-madison/smart-launcher into c10n-2021-09

view details

push time in 3 days

issue openedmicrosoft-healthcare-madison/smart-launcher

internal server error when jwks value is missing

When testing asymmetric auth in the c10n-2021-09 branch, if the jwks_uri is provided but the jwks static value is not - the server returns a 500.

created time in 3 days

delete branch microsoft-healthcare-madison/smart-launcher

delete branch : multiple-jwks-keys

delete time in 3 days

push eventmicrosoft-healthcare-madison/smart-launcher

Carl Anderson

commit sha e6b530eaf1119c9ff9ac548836bcf901901649c5

feat: better keystore handling Enables verification with multiple keys present. Lays the way forward to more easily add fetched jwks data from the jwks_uri parameter.

view details

Carl Anderson

commit sha 799d8c533bf7055e2bfa123f004c4c55e8621ef8

Merge pull request #19 from microsoft-healthcare-madison/multiple-jwks-keys feat: better keystore handling

view details

push time in 3 days

PR merged microsoft-healthcare-madison/smart-launcher

feat: better keystore handling

Enables verification with multiple keys present. Lays the way forward to more easily add fetched jwks data from the jwks_uri parameter.

+16 -16

0 comment

1 changed file

barabo

pr closed time in 3 days

push eventmicrosoft-healthcare-madison/smart-launcher

Carl Anderson

commit sha 6e73440d985e45dde772e2a140894c6485a34d4f

fixes #20: allow verification with multiple keys

view details

push time in 3 days

issue openedmicrosoft-healthcare-madison/smart-launcher

asymmetric key auth should handle jwks with multiple keys

When validating the client JWT in the TokenHandler, if the jwks keystore contains more than one signing key, the handler should be able to verify the signature as long as one of the signing keys is correct.

created time in 3 days

pull request commentHL7/smart-app-launch

fix small typo, non-functional correction

Thank you, Isaac! I kept spotting that and forgetting to fix it. :\

isaacvetter

comment created time in 3 days

issue commentHL7/ig-publisher-scripts

Updating scripts doesn't handle failures

I noticed that curl defined a -O flag, which assumed you're downloading a file and want to name it the same name locally as it is remote. Combining that with the -f flag, which only saves the downloaded file if the fetch results in an HTTP success code and I think the three lines in my example can be simplified to just curl -Of $update_bat_url.

I updated my PR with that change.

barabo

comment created time in 3 days

push eventbarabo/ig-publisher-scripts

Carl Anderson

commit sha 1d354b275a26ccc0f704f025d0c8015088f75b7a

improved usage of curl flags -O means overwrite the file using the remote filename -f means to fail if the server returns a failure This combination of flags prevents overwriting an existing script with 404 output, while also avoiding the need for a temp file or a separate function.

view details

push time in 3 days

PR opened HL7/ig-publisher-scripts

Fix 9: Refactor script updates, fail gracefully on 404s

Fixes https://github.com/HL7/ig-publisher-scripts/issues/9

+13 -24

0 comment

1 changed file

pr created time in 3 days

push eventbarabo/ig-publisher-scripts

Carl Anderson

commit sha ebc4f2d039d93dc5534e82d5fe6a3a7dbecb1e47

Refactor script updating and fail gracefully on 404

view details

push time in 3 days

fork barabo/ig-publisher-scripts

A repository of scripts used to launch the publisher, manage the local publishing environment and ensure both scripts and publisher are 'current'

fork in 3 days

issue openedHL7/ig-publisher-scripts

Updating scripts doesn't handle failures

I ran _updatePublisher.sh manually and noticed that, after it had tried to update all the scripts, they each contained the following content

404: Not found

Looking at the offending code, it seems that there's no check for a successful fetch before overwriting the old file.

For example:

  curl -L $update_bat_url -o /tmp/_updatePublisher.new
  cp /tmp/_updatePublisher.new _updatePublisher.bat
  rm /tmp/_updatePublisher.new

Better would be:

  curl -L $update_bat_url -o /tmp/_updatePublisher.new && cp /tmp/_updatePublisher.new _updatePublisher.bat
  rm /tmp/_updatePublisher.new

created time in 3 days

issue openedHL7/smart-app-launch

README instructions for building guide are stale

From the current README

Now, in the docker container...

$ sushi # This shouldn't be necessary but currently it is, the first time
$ _updatePublisher.sh # If you haven't done it before

$ _genonce.sh

In an actual interactive docker session, though, _updatePublisher.sh does not exist anywhere and neither does _genonce.sh.

# In an interactive docker session
publisher@3b795f0681c2:~$ cd

publisher@3b795f0681c2:~$ pwd
/home/publisher

publisher@3b795f0681c2:~$ find . -type f -name '*.sh'
./.node/lib/node_modules/fsh-sushi/node_modules/readline-sync/lib/read.sh
./.node/lib/node_modules/fsh-sushi/node_modules/@cnakazawa/watch/scripts/release.sh
./.node/lib/node_modules/fsh-sushi/node_modules/babel-preset-current-node-syntax/scripts/check-yarn-bug.sh
./.node/lib/node_modules/fsh-sushi/node_modules/exit/test/fixtures/create-files.sh
./bin/with-latest-sushi.sh
./ig/publisher.sh

created time in 3 days