Conversation
uniqueg
left a comment
There was a problem hiding this comment.
Looks good but some points need some work, see comments.
|
I'm not sure if this PR should be targeting |
|
@kellrott - think it can target |
|
BTW, we are quite inconsistent in the choice of camel vs snake case, but it has happened before this PR. |
|
@aniewielska: While you are right about |
| $ref: '#/components/schemas/tesCreateTaskResponse' | ||
| callbacks: | ||
| statusChange: | ||
| '{$request.body#/callback_url}': |
There was a problem hiding this comment.
This cool feature was mentioned at the GA4GH call, so I took a peek... I'm curious, how is authentication supposed to work for the callback url?
There was a problem hiding this comment.
github allows a simple password for webhooks but does not require it. I wonder if the callback should be an object instead of a single url:
"callback": {
"url": "your url goes here",
"headers": [
{ "key":"value"}
]
}There was a problem hiding this comment.
The idea here was not to put callback url behind extra authentication (the URL itself might be a secret?) and additionally advise consumers of the callback to verify the information by hitting the GET endpoint.
There was a problem hiding this comment.
@aniewielska thanks for the clarification. I wonder if it would still potentially make sense to make this an object to future proof in the case of wanting to add additional access mechanisms in the future
There was a problem hiding this comment.
The idea here was not to put callback url behind extra authentication (the URL itself might be a secret?) and additionally advise consumers of the callback to verify the information by hitting the GET endpoint.
I think it would be nice to have your clarification in the spec.
I'm still slightly concerned about needing to expose a public callback url without auth, and I think Patrick's proposal addresses that, but I don't feel too strongly (and I'm not a reviewer anyway, just lurking :) ).
There was a problem hiding this comment.
Good points here, thanks. Agree with future proofing by making it an object and extending the description to clarify that clients should verify the info from the callback and that the callback URL may include a secret
| - FULL | ||
|
|
||
| schemas: | ||
| tesCallbackStatus: |
There was a problem hiding this comment.
How will the the callback know which TES server is making the request? Is the callback expected to look at the Origin header (but I don't think that's guaranteed to be set)?
I've added callback schema according OpenAPI v3 specs. Kindly review it and suggest necessary changes, if required.