Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse

NodeBB

  1. Home
  2. General Discussion
  3. #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.

Scheduled Pinned Locked Moved General Discussion
activitypub
14 Posts 3 Posters 2 Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • achim@social.saarlandA This user is from outside of this forum
    achim@social.saarlandA This user is from outside of this forum
    achim@social.saarland
    wrote last edited by
    #1

    #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.

    [...]

    achim@social.saarlandA 1 Reply Last reply
    1
    0
    • tag-activitypub@relay.fedi.buzzT tag-activitypub@relay.fedi.buzz shared this topic
    • achim@social.saarlandA achim@social.saarland

      #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.

      [...]

      achim@social.saarlandA This user is from outside of this forum
      achim@social.saarlandA This user is from outside of this forum
      achim@social.saarland
      wrote last edited by
      #2

      [...] 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 ...

      @silverpill @evan

      evan@cosocial.caE 1 Reply Last reply
      0
      • achim@social.saarlandA achim@social.saarland

        [...] 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 ...

        @silverpill @evan

        evan@cosocial.caE This user is from outside of this forum
        evan@cosocial.caE This user is from outside of this forum
        evan@cosocial.ca
        wrote last edited by
        #3

        @achim @silverpill no, I think Mastodon accepts `Person` just fine.

        evan@cosocial.caE 1 Reply Last reply
        0
        • evan@cosocial.caE evan@cosocial.ca

          @achim @silverpill no, I think Mastodon accepts `Person` just fine.

          evan@cosocial.caE This user is from outside of this forum
          evan@cosocial.caE This user is from outside of this forum
          evan@cosocial.ca
          wrote last edited by
          #4

          @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@social.saarlandA 1 Reply Last reply
          0
          • evan@cosocial.caE evan@cosocial.ca

            @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@social.saarlandA This user is from outside of this forum
            achim@social.saarlandA This user is from outside of this forum
            achim@social.saarland
            wrote last edited by
            #5

            @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@social.saarlandA evan@cosocial.caE silverpill@mitra.socialS 3 Replies Last reply
            0
            • achim@social.saarlandA achim@social.saarland

              @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@social.saarlandA This user is from outside of this forum
              achim@social.saarlandA This user is from outside of this forum
              achim@social.saarland
              wrote last edited by
              #6

              [...] use a dedicated url (i.e. mine with an appended ./key) and just return an object of type "PublicKey"?

              @evan @silverpill

              evan@cosocial.caE 1 Reply Last reply
              0
              • achim@social.saarlandA achim@social.saarland

                @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@cosocial.caE This user is from outside of this forum
                evan@cosocial.caE This user is from outside of this forum
                evan@cosocial.ca
                wrote last edited by
                #7

                @achim @silverpill yes, it's documented in my book.

                evan@cosocial.caE 1 Reply Last reply
                0
                • achim@social.saarlandA achim@social.saarland

                  [...] use a dedicated url (i.e. mine with an appended ./key) and just return an object of type "PublicKey"?

                  @evan @silverpill

                  evan@cosocial.caE This user is from outside of this forum
                  evan@cosocial.caE This user is from outside of this forum
                  evan@cosocial.ca
                  wrote last edited by
                  #8

                  @achim @silverpill I'm rereading the book section on public keys, and it looks good. Do it like that!

                  achim@social.saarlandA 1 Reply Last reply
                  0
                  • evan@cosocial.caE evan@cosocial.ca

                    @achim @silverpill I'm rereading the book section on public keys, and it looks good. Do it like that!

                    achim@social.saarlandA This user is from outside of this forum
                    achim@social.saarlandA This user is from outside of this forum
                    achim@social.saarland
                    wrote last edited by
                    #9

                    @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!

                    @silverpill

                    evan@cosocial.caE 1 Reply Last reply
                    0
                    • evan@cosocial.caE evan@cosocial.ca

                      @achim @silverpill yes, it's documented in my book.

                      evan@cosocial.caE This user is from outside of this forum
                      evan@cosocial.caE This user is from outside of this forum
                      evan@cosocial.ca
                      wrote last edited by
                      #10

                      @achim @silverpill So, here's a minimal example of a key object:

                      https://gist.github.com/evanp/874d92e8f5965fa59352e8c551507254

                      evan@cosocial.caE 1 Reply Last reply
                      0
                      • evan@cosocial.caE evan@cosocial.ca

                        @achim @silverpill So, here's a minimal example of a key object:

                        https://gist.github.com/evanp/874d92e8f5965fa59352e8c551507254

                        evan@cosocial.caE This user is from outside of this forum
                        evan@cosocial.caE This user is from outside of this forum
                        evan@cosocial.ca
                        wrote last edited by
                        #11

                        @achim @silverpill And here's the corresponding person object:

                        https://gist.github.com/evanp/792c62ebb636eeb7a231ff43cca402e0

                        evan@cosocial.caE 1 Reply Last reply
                        0
                        • evan@cosocial.caE evan@cosocial.ca

                          @achim @silverpill And here's the corresponding person object:

                          https://gist.github.com/evanp/792c62ebb636eeb7a231ff43cca402e0

                          evan@cosocial.caE This user is from outside of this forum
                          evan@cosocial.caE This user is from outside of this forum
                          evan@cosocial.ca
                          wrote last edited by
                          #12

                          @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.

                          1 Reply Last reply
                          0
                          • achim@social.saarlandA achim@social.saarland

                            @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!

                            @silverpill

                            evan@cosocial.caE This user is from outside of this forum
                            evan@cosocial.caE This user is from outside of this forum
                            evan@cosocial.ca
                            wrote last edited by
                            #13

                            @achim @silverpill OK. Try the samples I gave!

                            1 Reply Last reply
                            0
                            • achim@social.saarlandA achim@social.saarland

                              @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 [...]

                              silverpill@mitra.socialS This user is from outside of this forum
                              silverpill@mitra.socialS This user is from outside of this forum
                              silverpill@mitra.social
                              wrote last edited by
                              #14

                              @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

                              1 Reply Last reply
                              0
                              Reply
                              • Reply as topic
                              Log in to reply
                              • Oldest to Newest
                              • Newest to Oldest
                              • Most Votes


                              • Login

                              • Don't have an account? Register

                              • Login or register to search.
                              Powered by NodeBB Contributors
                              • First post
                                Last post
                              0
                              • Categories
                              • Recent
                              • Tags
                              • Popular
                              • World
                              • Users
                              • Groups