Add public key declaration to actors (#4215)
This commit is contained in:
		
							parent
							
								
									a3202fd51e
								
							
						
					
					
						commit
						a47c2e8890
					
				
					 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