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. What would you consider the minimal features to be considered an #ActivityPub C2S server?

What would you consider the minimal features to be considered an #ActivityPub C2S server?

Scheduled Pinned Locked Moved General Discussion
activitypub
1 Cross-posts 26 Posts 5 Posters 13 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.
  • evan@cosocial.caE evan@cosocial.ca

    @steve @reiver

    "Social API servers SHOULD provide an inbox collection that accepts the GET HTTP method. Social API servers SHOULD allow actors to read their own inbox collection.

    "Social API servers SHOULD provide an outbox collection that accepts the POST HTTP method."

    I'm not crazy about the language though. It needs tightening up.

    steve@social.technoetic.comS This user is from outside of this forum
    steve@social.technoetic.comS This user is from outside of this forum
    steve@social.technoetic.com
    wrote last edited by
    #17

    @evan @reiver Thanks. I saw that. These seem like fundamental C2S capabilities to me (more than a "SHOULD") but I can add my comments in the github repo.

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

      @steve @reiver I also think it's perfectly reasonable for Mastodon to move iteratively closer to this basic profile. Supporting CIMD or dynamic client registration would be great. CORS for actors, objects and collections would be nice, too.

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

      @steve @reiver one part I am concerned isn't "minimal" is the section on client to server interactions.

      https://swicg.github.io/activitypub-api/basicprofile#client-to-server

      That said, this is about the minimum of what I'd want to work with as a client developer: creating web content and organizing it into collections.

      1 Reply Last reply
      0
      • steve@social.technoetic.comS steve@social.technoetic.com

        @evan @reiver An actor not being able to read their own inbox disqualifies it as a C2S API for me (even a read-only one).

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

        @steve @reiver that's interesting.

        It's something a client can quickly detect with an OPTIONS request.

        Inbox read access seems important but not essential.

        I can think of a lot of write-only client applications that don't need read access to the inbox. Like a video game that shares in-game achievements, or a follow button widget.

        steve@social.technoetic.comS 1 Reply Last reply
        0
        • steve@social.technoetic.comS steve@social.technoetic.com

          @evan @reiver I wasn't thinking of something instead, although I can imagine implementations that use pre-shared "app tokens" or HTTP Basic Auth (as examples). The motivation for the question is the C2S list maintained by @smallcircles. It seems like most of those are not what I'd think of as C2S (Social API) servers.

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

          @steve @reiver @smallcircles that's interesting!

          I think the whole reason we have OAuth is so you don't have to put your password into a third-party app. Basic Auth sounds like trouble!

          For the pre-authed token, aka "personal access tokens", I use those a lot for different APIs, but I think they're usually just treated as Bearer tokens? So they'd fit here.

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

            @steve @reiver that's interesting.

            It's something a client can quickly detect with an OPTIONS request.

            Inbox read access seems important but not essential.

            I can think of a lot of write-only client applications that don't need read access to the inbox. Like a video game that shares in-game achievements, or a follow button widget.

            steve@social.technoetic.comS This user is from outside of this forum
            steve@social.technoetic.comS This user is from outside of this forum
            steve@social.technoetic.com
            wrote last edited by
            #21

            @evan @reiver Maybe we need a read-only and write-only subprofiles? But what about an C2S server that doesn't allow reading the inbox nor posting to the outbox (like Mastodon) but still satisfies the MUST requirements in the profile?

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

              @steve @reiver @smallcircles that's interesting!

              I think the whole reason we have OAuth is so you don't have to put your password into a third-party app. Basic Auth sounds like trouble!

              For the pre-authed token, aka "personal access tokens", I use those a lot for different APIs, but I think they're usually just treated as Bearer tokens? So they'd fit here.

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

              @steve @reiver @smallcircles I think Bonfire and Emissary both support cookie auth for their social API implementations, but that seems like an internal implementation issue and not an interoperability issue. Third party apps can't use cookie auth I think?

              1 Reply Last reply
              0
              • steve@social.technoetic.comS steve@social.technoetic.com

                @evan @reiver Maybe we need a read-only and write-only subprofiles? But what about an C2S server that doesn't allow reading the inbox nor posting to the outbox (like Mastodon) but still satisfies the MUST requirements in the profile?

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

                @steve @reiver You have more faith in the compelling powers of MUST than I do.

                https://cosocial.ca/@evan/116403967622366259

                steve@social.technoetic.comS 1 Reply Last reply
                0
                • evan@cosocial.caE evan@cosocial.ca

                  @steve @reiver You have more faith in the compelling powers of MUST than I do.

                  https://cosocial.ca/@evan/116403967622366259

                  steve@social.technoetic.comS This user is from outside of this forum
                  steve@social.technoetic.comS This user is from outside of this forum
                  steve@social.technoetic.com
                  wrote last edited by
                  #24

                  @evan @reiver Speaking for myself, I'm not interested in compelling powers. I think MUST is valuable not because it forces developers to behave, but because it defines the behavioral contract we can test, reason about, and build on (with interoperability guarantees).

                  evan@cosocial.caE 1 Reply Last reply
                  0
                  • steve@social.technoetic.comS steve@social.technoetic.com

                    @evan @reiver Speaking for myself, I'm not interested in compelling powers. I think MUST is valuable not because it forces developers to behave, but because it defines the behavioral contract we can test, reason about, and build on (with interoperability guarantees).

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

                    @steve @reiver I agree with that. It's the option that says, it just isn't going to work unless you do it this way.

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

                      @steve @reiver I also think it's perfectly reasonable for Mastodon to move iteratively closer to this basic profile. Supporting CIMD or dynamic client registration would be great. CORS for actors, objects and collections would be nice, too.

                      steve@social.technoetic.comS This user is from outside of this forum
                      steve@social.technoetic.comS This user is from outside of this forum
                      steve@social.technoetic.com
                      wrote last edited by
                      #26

                      @evan Using my browser-based C2S test app, it looks like Mastodon enables CORS for at least actor, activity, outbox collection, and Note objects.

                      1 Reply Last reply
                      0

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