ARC-0001 - ActivityPub service provider definition

Ariadne Identity Extension Specification

ARC-0001 - ActivityPub service provider definition

ARC-0001 - ActivityPub service provider definition

Author: Yarmo Mackenbach <yarmo@keyoxide.org>
Version: 1
Published: 2022-11-16
Last updated: 2022-11-16

Status

This ARC is active.

Copyright (c) 2022 Yarmo Mackenbach. All rights reserved.

1. Introduction

This ARC adds identity claim verification for servers compatible with the ActivityPub specification.

2. Additional information

2.1. HTTP request headers

ActivityPub HTTP request require the following header:

  • Accept: application/activity+json

2.2. HTTP signed requests

Some ActivityPub-compatible require HTTP requests to be signed. The process is described here: https://docs.joinmastodon.org/spec/security/

2.3. Profile display name processing

The correct profile display name is composed of:

  • the @ symbol
  • the value of preferredUsername from the returned JSON data
  • the @ symbol
  • the hostname of the claim URI

Since the correct display name uses the returned JSON data, it should be computed near the end of the entire process.

3. TOML representation

[about]
name = "ActivityPub"
shortname = "activitypub"
homepage = "https://www.w3.org/TR/activitypub/"

[profile]
display = '{claim_uri}'
uri = '{claim_uri}'

[claim]
uri = '^https:\/\/(.*)\/?'
uri_is_ambiguous = true

[proof]

[proof.request]
uri = '{claim_uri}'
protocol = "http"

[proof.response]
format = "json"

[[ proof.target ]]
path = ["summary"]

[[ proof.target ]]
path = ["attachment", "value"]