Add public key declaration to actors (#4215)
This commit is contained in:
parent
49ef5145ea
commit
9aa9548884
2 changed files with 23 additions and 0 deletions
|
@ -7,6 +7,8 @@ class ActivityPub::ActorSerializer < ActiveModel::Serializer
|
|||
:inbox, :outbox, :preferred_username,
|
||||
:name, :summary, :icon, :image
|
||||
|
||||
has_one :public_key, serializer: ActivityPub::PublicKeySerializer
|
||||
|
||||
def id
|
||||
account_url(object)
|
||||
end
|
||||
|
@ -50,4 +52,8 @@ class ActivityPub::ActorSerializer < ActiveModel::Serializer
|
|||
def image
|
||||
full_asset_url(object.header.url(:original))
|
||||
end
|
||||
|
||||
def public_key
|
||||
object
|
||||
end
|
||||
end
|
||||
|
|
17
app/serializers/activitypub/public_key_serializer.rb
Normal file
17
app/serializers/activitypub/public_key_serializer.rb
Normal file
|
@ -0,0 +1,17 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
class ActivityPub::PublicKeySerializer < ActiveModel::Serializer
|
||||
attributes :id, :owner, :public_key_pem
|
||||
|
||||
def id
|
||||
[ActivityPub::TagManager.instance.uri_for(object), '#main-key'].join
|
||||
end
|
||||
|
||||
def owner
|
||||
ActivityPub::TagManager.instance.uri_for(object)
|
||||
end
|
||||
|
||||
def public_key_pem
|
||||
object.public_key
|
||||
end
|
||||
end
|
Loading…
Reference in a new issue