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

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