Add public key declaration to actors (#4215)
parent
a3202fd51e
commit
a47c2e8890
|
@ -7,6 +7,8 @@ class ActivityPub::ActorSerializer < ActiveModel::Serializer
|
||||||
:inbox, :outbox, :preferred_username,
|
:inbox, :outbox, :preferred_username,
|
||||||
:name, :summary, :icon, :image
|
:name, :summary, :icon, :image
|
||||||
|
|
||||||
|
has_one :public_key, serializer: ActivityPub::PublicKeySerializer
|
||||||
|
|
||||||
def id
|
def id
|
||||||
account_url(object)
|
account_url(object)
|
||||||
end
|
end
|
||||||
|
@ -50,4 +52,8 @@ class ActivityPub::ActorSerializer < ActiveModel::Serializer
|
||||||
def image
|
def image
|
||||||
full_asset_url(object.header.url(:original))
|
full_asset_url(object.header.url(:original))
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def public_key
|
||||||
|
object
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -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
|
Reference in New Issue