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