#activitypub follow-up question: Thanks to @silverpill I made progress with my "Follow" request sent to Mastodon.
-
#activitypub follow-up question: Thanks to @silverpill I made progress with my "Follow" request sent to Mastodon. After fixing a few more issues my current error message from Mastodon is:
"Could not refresh public key https://pub.saar.social/user/achim/key"
This URL returns my full profile having type "Person", which also contains the public key. The type "Person" is also used in the AP book by @evan which I use as a reference.
[...]
[...] I checked out the Mastodon source code and searched for the error message. My Ruby-skills are limited, but it looks like Mastodon expects the type "Account".
I dont't understand what Mastodon expects from me. Any hint would be highly appreciated.
In the meanwhile I'll give https://activitypub.academy/ ad try ...
-
[...] I checked out the Mastodon source code and searched for the error message. My Ruby-skills are limited, but it looks like Mastodon expects the type "Account".
I dont't understand what Mastodon expects from me. Any hint would be highly appreciated.
In the meanwhile I'll give https://activitypub.academy/ ad try ...
@achim @silverpill no, I think Mastodon accepts `Person` just fine.
-
@achim @silverpill no, I think Mastodon accepts `Person` just fine.
@achim @silverpill you either need to provide an URL to the key itself, with type "PublicKey", and a link to "Person" that is the "owner", or you can provide the URL of the "Person" with an URL fragment "main-key", and your person has to have a "publicKey" property.
-
@achim @silverpill you either need to provide an URL to the key itself, with type "PublicKey", and a link to "Person" that is the "owner", or you can provide the URL of the "Person" with an URL fragment "main-key", and your person has to have a "publicKey" property.
@evan Thanks for your response. @silverpill already mentioned the "main-key" fragment. Is that documented somewhere?
I had an implementation that returned just an object of type "PublicKey" if the "./key" endpoint is called.
I checked what I get back from Mastodon if I call my profile with the "main-key" fragment. The result is the full profile.
So should I either refer to the profile url with the fragment and return the full "Person" OR [...]
-
@evan Thanks for your response. @silverpill already mentioned the "main-key" fragment. Is that documented somewhere?
I had an implementation that returned just an object of type "PublicKey" if the "./key" endpoint is called.
I checked what I get back from Mastodon if I call my profile with the "main-key" fragment. The result is the full profile.
So should I either refer to the profile url with the fragment and return the full "Person" OR [...]
[...] use a dedicated url (i.e. mine with an appended ./key) and just return an object of type "PublicKey"?
-
@evan Thanks for your response. @silverpill already mentioned the "main-key" fragment. Is that documented somewhere?
I had an implementation that returned just an object of type "PublicKey" if the "./key" endpoint is called.
I checked what I get back from Mastodon if I call my profile with the "main-key" fragment. The result is the full profile.
So should I either refer to the profile url with the fragment and return the full "Person" OR [...]
@achim @silverpill yes, it's documented in my book.
-
[...] use a dedicated url (i.e. mine with an appended ./key) and just return an object of type "PublicKey"?
@achim @silverpill I'm rereading the book section on public keys, and it looks good. Do it like that!
-
@achim @silverpill I'm rereading the book section on public keys, and it looks good. Do it like that!
@evan I read that section and implemented the preferred version, not the Mastodon one. That did not work, but I might got confused by other mistakes I made. Will give it another try. Thanks for your help!
-
@achim @silverpill yes, it's documented in my book.
@achim @silverpill So, here's a minimal example of a key object:
https://gist.github.com/evanp/874d92e8f5965fa59352e8c551507254
-
@achim @silverpill So, here's a minimal example of a key object:
https://gist.github.com/evanp/874d92e8f5965fa59352e8c551507254
@achim @silverpill And here's the corresponding person object:
https://gist.github.com/evanp/792c62ebb636eeb7a231ff43cca402e0
-
@achim @silverpill And here's the corresponding person object:
https://gist.github.com/evanp/792c62ebb636eeb7a231ff43cca402e0
@achim @silverpill Some things to note:
- They have to point to each other
- I think the "publicKey" object in the person has to be an embedded object for Mastodon; it won't accept an URL as the property value. -
@evan I read that section and implemented the preferred version, not the Mastodon one. That did not work, but I might got confused by other mistakes I made. Will give it another try. Thanks for your help!
@achim @silverpill OK. Try the samples I gave!
-
@evan Thanks for your response. @silverpill already mentioned the "main-key" fragment. Is that documented somewhere?
I had an implementation that returned just an object of type "PublicKey" if the "./key" endpoint is called.
I checked what I get back from Mastodon if I call my profile with the "main-key" fragment. The result is the full profile.
So should I either refer to the profile url with the fragment and return the full "Person" OR [...]
@achim @evan The fragment ID could be different but it needs to be embedded in your actor document. Here's a JSON schema:
https://codeberg.org/ap-next/ap-next/src/branch/main/schemas/actor.schema.json
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login