ActivityPub is also used for federation.
Badge issuers (ActivityPub actors) can follow other issuers.
When a badge is issued, a Create activity is federated.
Other servers receive that activity and can store a local copy of the badge.
This works very similarly to how Mastodon servers cache posts.
Because of that, badges can also be:
• revoked using the Delete activity
• updated using the Update activity
Again, this reuses existing ActivityPub verbs instead of inventing a new protocol or new spec.
Simple primitives, (I love how simple it is), powerful results.
--
Verification is also straightforward.
The #OpenBadge issuer URL points to the ActivityPub actor URL.
That means the same actor who published the badge also owns the public/private key pair used in ActivityPub.
So the actor identity and the badge issuer identity match.