Actor profile not visible on mastodon

I am trying my hands with ActivityPub implementation. I have implemented webfinger, actor profile, inbox, and outbox (both boxes empty). I’ve only implemented GET and no POST.

I am trying to find this profile on mastodon (as well as on elk), but can’t find it. Have read a ton of articles and compared results. I am missing something obviously. So instead of wasting more time, I thought I will seek help.

When I ping:
https://gofedi.onrender.com/.well-known/webfinger?resource=acct:jjude@gofedi.onrender.com
it renders

{
    "links": [
        {
            "href": "https://gofedi.onrender.com/users/jjude",
            "rel": "self",
            "type": "application/activity+json"
        }
    ],
    "subject": "acct:jjude@gofedi.onrender.com"
}

The header includes: Content-Type: application/jrd+json

When you ping: https://gofedi.onrender.com/users/jjude, it returns the below actor profile (also includes the above ctype):

{
    "@context": "https://www.w3.org/ns/activitystreams",
    "discoverable": true,
    "followers": "https://gofedi.onrender.com/users/jjude/followers",
    "following": "https://gofedi.onrender.com/users/jjude/following",
    "icon": {
        "mediaType": "image/jpeg",
        "type": "Image",
        "url": "https://mastodon.jgarr.net/icon.jpg"
    },
    "id": "https://gofedi.onrender.com/users/jjude",
    "image": {
        "mediaType": "image/jpeg",
        "type": "Image",
        "url": "https://mastodon.jgarr.net/image.png"
    },
    "inbox": "https://gofedi.onrender.com/users/jjude/inbox",
    "manuallyApprovesFollowers": false,
    "name": "Joseph Jude",
    "outbox": "https://gofedi.onrender.com/users/jjude/outbox",
    "preferredUsername": "jjude",
    "publicKey": {
        "id": "https://gofedi.onrender.com/users/jjude#main-key",
        "owner": "https://gofedi.onrender.com/users/jjude",
        "publicKeyPem": "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAyB9YyNt5OB23VW3sFm5o\nPnV4phqSXgqwyqmjXIE6ZtwLE0I6JEeeqv+SD2pd9QDXiUfugEWuUyNImZCglNg2\nV3Vh/NNr/YX6tWW6VSkudJ/b8lNQF8Rr/Z9wK9jD0WUmFs+YjS0R/KePDtLt1HOX\nVfjPLyOCODO+ykXQkydLI1RZf3V+iJdiTP9e5nhBxQGHkbyVja/86uqJIC96zyX4\nQPteEtHjXngVgO6QozCQu6Null4WFOHUdPGHaN7wsJtkZV10BPp3yCOiirJQlXSp\no+7YfJuROFv8QU+jWitTPTYWQYEuRwUfDUsdThqSh/u6eZt2hHjTzcI0/qgpxWqI\n1wIDAQAB\n-----END PUBLIC KEY-----\n"
    },
    "published": "2000-01-01T00:00:00Z",
    "summary": "This is a summary of the user",
    "type": "Person",
    "url": "https://gofedi.onrender.com/users/jjude"
}

Can you see any bugs in this? What am I doing wrong?

are you setting Content-Type correctly on the actor document response? it needs to be application/activity+json or application/ld+json; profile="https://www.w3.org/ns/activitystreams" instead of application/jrd+json

3 Likes

That one change made it work. I can’t thank you enough since I spent days trying to figure this out.

Thanks a lot! I’ve been struggling with this for some time now.

It’s really frustrating how little feedback Mastodon provides. At first I thought my instance had been banned, until I saw that the webfinger resolved correctly.