Skip to content

[Feat]: PushNotificationConfig.authentication is ignored; no Authorization header is sent in push notifications #585

Closed

Description

@Tareqox

Is your feature request related to a problem? Please describe.

The A2A protocol spec states that when a client provides a PushNotificationConfig with an authentication scheme (e.g. "schemes": ["Bearer"]), the A2A server must authenticate when sending push notifications to the client’s webhook.
Example config:

"configuration": {
  "pushNotificationConfig": {
    "url": "CALLBACK-URL",
    "token": "secure-client-token-for-task-aaa",
    "authentication": {
      "schemes": ["Bearer"]
    }
  }
}

However, the Python implementation (BasePushNotificationSender) completely ignores authentication and sends no Authorization header.
It only attaches:

X-A2A-Notification-Token: <token>

This means that webhook endpoints cannot authenticate the caller and cannot follow the security model described in the spec.

This appears to be a spec compliance gap: push notification authentication is described by the protocol but not implemented in the Python server.

Describe the solution you'd like

I would like the Python server to:

  • Honor PushNotificationConfig.authentication

  • Support at least the "Bearer" scheme

  • Automatically add the appropriate Authorization header

  • Match the spec examples by sending both:

    • X-A2A-Notification-Token
    • Authorization: Bearer <token_or_jwt>

Describe alternatives you've considered

As a workaround, we currently:

  • Subclass BasePushNotificationSender
  • Override _dispatch_notification
  • Inject our own Authorization: Bearer <jwt> header

This works, but:

  • It duplicates logic that should be part of the framework
  • It breaks consistency between Python and other A2A implementations
  • It makes spec-compliant webhook security non-standard and harder to maintain

A built-in implementation would make push notification authentication reliable, consistent, and aligned with the A2A spec.

Activity

  1. added theissue type on Dec 11, 2025
  2. DhanashreePetare commented on Dec 16, 2025

    @DhanashreePetare

    Greetings @Tareqox ..I am interested to work on the issue. Can You please assign this to me. ThankYou

  3. sokoliva commented on Dec 16, 2025

    @sokoliva
    Member

    Greetings @Tareqox ..I am interested to work on the issue. Can You please assign this to me. ThankYou

    Hi @DhanashreePetare. I added you as an assignee.

  4. DhanashreePetare commented on Dec 16, 2025

    @DhanashreePetare

    ThankYou @sokoliva..I will start working on it. I have a doubt. I came to this project via Linux Foundation websites and their via GSOC organizations, and I want to be in contact with the Linux foundation organization via some communication channel like discord. If you can help me in this, I would be grateful.ThankYou.

  5. Tareqox commented on Dec 16, 2025

    @Tareqox
    Author

    @DhanashreePetare lets please align on this. Happy to drive the implemenation of this feature request together. FYI @sokoliva I already have a solution, but didnt raise the PR yet... so it might better to assign it to me

  6. DhanashreePetare commented on Dec 16, 2025

    @DhanashreePetare

    Ok @Tareqox . Did you mean we can work together on this, or this is to be assigned to you, was a bit confused by above message.

  7. Tareqox commented on Dec 16, 2025

    @Tareqox
    Author

    Assign to me and I'll raise the PR in a bit and you can check that. @DhanashreePetare , FYI @sokoliva

  8. sokoliva commented on Dec 19, 2025

    @sokoliva
    Member

    @Tareqox Thank you for bringing this to our attention and for opening a PR for this issue.

    I noticed there are still two unresolved comments on the PR. Do you have plans to address those soon?

  9. Tareqox commented on Dec 19, 2025

    @Tareqox
    Author

    @sokoliva Yes, I'm aware of that. I would like to get this done by the new year, as I am currently away on vacation. I will definitely address those asap once I am back. If I find time earlier, I'll do it this year.

  10. sokoliva commented on Jan 7, 2026

    @sokoliva
    Member

    ThankYou @sokoliva..I will start working on it. I have a doubt. I came to this project via Linux Foundation websites and their via GSOC organizations, and I want to be in contact with the Linux foundation organization via some communication channel like discord. If you can help me in this, I would be grateful.ThankYou.

    @DhanashreePetare Sorry for the late reply. Here is the discord link you requested: goo.gle/a2a-discord 🙂

  11. isheng-eqi commented on Jul 7, 2026

    @isheng-eqi

    Submitted PR #1126 — BasePushNotificationSender now honors the authentication field and sends Authorization: Bearer when configured.

  12. added a commit that references this issue on Sep 29, 2026
    5751d31
  13. added a commit that references this issue on Sep 29, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions