sreecharan-desu commented on issue #75461:
URL: https://github.com/apache/airflow/issues/75461#issuecomment-6414986982

   Hi @diegocoy, I looked into this. In 3.3.2, `ExecuteCallback.make()` mints a 
JWT with `scope="workload"` via `BaseWorkloadSchema.generate_token()`, and 
unlike `supervise_task`, `supervise_callback` in 
`task-sdk/src/airflow/sdk/execution_time/callback_supervisor.py` never 
exchanges it for an `"execution"` token, so `GET 
/execution/connections/smtp_default` is rejected with 403 by `require_auth` 
(`allowed_token_types = {"execution"}`).
   
   On `main` (3.4.0), #71192 added `PATCH 
/execution/callbacks/{callback_id}/run` to exchange the callback token for an 
`"execution"` token, though `get_team_name_dep` in 
`airflow-core/src/airflow/api_fastapi/execution_api/security.py` and 
`has_xcom_access` in `xcoms.py` still only look up `TaskInstance.id == 
token.id` in multi-team mode instead of falling back to `Callback.id`. I'm 
preparing a PR to fix the callback team resolution on `main` and can also help 
if the token exchange needs a backport for `v3-3-test`.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to