Back to Codeberg

Milestone 1: Enhance Signature Handling for Actors

forgejo-contrib-federation-milestone-31352.md

latest9.4 KB
Original Source

forgejo-contrib/federation

Watch21

Star82

Fork

You've already forked federation

6

CodeIssues 16Pull requests 8Projects 2ActivityActions

Milestone 1: Enhance Signature Handling for Actors

New issue

We will refactor the signature handling architecture to support Repository and Organization actors in addition to the currently supported Instance and User actors. This architectural refactoring is essential for enabling repositories and organizations to participate in federated activities with proper authentication and authorization. We will document our decisions in an Architecture Decision Record and deliver the refactored architecture as a pull request to forgejo-contrib/federation. This work establishes the foundation for more complex federation features by ensuring all actor types can securely communicate across instances.

A.C.:

  1. Architecture is updated
  2. SignatureService is cleaned up & we've migrated existing key material in to the new structure

Deliveries:

  1. Architecture

  2. PR about http signature details: #57 (merged)

  3. PR about ID handling / normalization: #82 (merged)

  4. PR about having federation keys in own table: #73 (merged)

  5. PR about simplified signature verification: #84

  6. PR about changing the lifecycle to reduce normalization issues: #85

  7. forgejo code

  8. Simplify signature validation to be the least common denominator: forgejo/forgejo#10189 (merged)

  9. Add support for RFC9421 signatures (which is implemented by Mastodon, and may be implemented by GoToSocial in near future): forgejo/forgejo#10206 - added examples for api.ini configuration of RFC 9421 signatures: forgejo/docs#1672

  10. Handle federated key material as first class citizen instead of attaching them to their actors: forgejo/forgejo#10074

  11. simplified signature verification: 1. federation-dev: meissa/forgejo#38 2. forgejo: waiting for PR

  12. refactor model.forgefed -> model.federation_host 1. federation-dev: meissa/forgejo#39 2. forgejo: waiting for PR

  13. (wip) refactor federation: use optional return types: forgejo/forgejo#10329

Example feature branches of merging the above PRs: meissa/forgejo/federation/dev, 0xllx0/forgejo/federation/dev

Kudos to the reviewers: @n0toose, @silverpill, @Gusted, @mfenniak, @earl-warren, @sclu1034, @mahlzahn

No due date

67% Completed

1 Open2 Closed3 All

Label

Show archived labels

All labelsNo label

Project

All projectsNo project

Open projects STA federation investFederated Volunteer Work

Author

All authors

Assignee

All assigneesNo assignee

0xllx0 algernon Beowulf caesar crystal Cyborus famfo fnetX forgejo-moderation Gusted jerger litchipi mahlzahn ![](/avatars/d3e911eec058bc2605b5bf5a1af2c968f64815a2f6aedefd3e5f93cb6ba514a4 "Panagiotis "Ivory" Vasilopoulos")n0toose oliverpool patdyn viceice wetneb

Sort RelevanceNewestOldestRecently updatedLeast recently updatedMost commentedLeast commentedNearest due dateFarthest due date

milestone: Separate PublicKey table for scalability

#72 opened 2025-11-10 21:05:07 +01:00 by 0xllx0