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

    What would you consider the minimal features to be considered an #ActivityPub C2S server? Support for inbox GET, outbox POST, OAuth2, proxy endpoint, ... ?

    dmathieu@fosstodon.orgD reiver@mastodon.socialR evan@cosocial.caE 3 Replies Last reply
    0
    • steve@social.technoetic.comS steve@social.technoetic.com

      What would you consider the minimal features to be considered an #ActivityPub C2S server? Support for inbox GET, outbox POST, OAuth2, proxy endpoint, ... ?

      dmathieu@fosstodon.orgD This user is from outside of this forum
      dmathieu@fosstodon.orgD This user is from outside of this forum
      dmathieu@fosstodon.org
      wrote last edited by
      #2

      @steve there's a pretty nice checklist at the end of @evan's book. It includes both C2S and S2S.

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

        What would you consider the minimal features to be considered an #ActivityPub C2S server? Support for inbox GET, outbox POST, OAuth2, proxy endpoint, ... ?

        reiver@mastodon.socialR This user is from outside of this forum
        reiver@mastodon.socialR This user is from outside of this forum
        reiver@mastodon.social
        wrote last edited by
        #3

        @steve

        This may be relevant:

        https://swicg.github.io/activitypub-api/basicprofile

        #ActivityPubAPI

        steve@social.technoetic.comS smallcircles@social.coopS 2 Replies Last reply
        0
        • reiver@mastodon.socialR reiver@mastodon.social

          @steve

          This may be relevant:

          https://swicg.github.io/activitypub-api/basicprofile

          #ActivityPubAPI

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

          @reiver Thanks. I knew there were some related git issues, but I didn't know Evan had created a document for his proposals. Based on that document, servers that don't support OAuth2 auth code grants would not be considered C2S (Social API) servers. It's interesting to me that there's no requirement for outbox POST or inbox GET. It seems like Mastodon would satisfy these C2S server requirements (OAuth2 auth code grants, bearer tokens, 429 rate limits, etc.), but that doesn't seem correct to me.

          reiver@mastodon.socialR evan@cosocial.caE 2 Replies Last reply
          0
          • reiver@mastodon.socialR reiver@mastodon.social

            @steve

            This may be relevant:

            https://swicg.github.io/activitypub-api/basicprofile

            #ActivityPubAPI

            smallcircles@social.coopS This user is from outside of this forum
            smallcircles@social.coopS This user is from outside of this forum
            smallcircles@social.coop
            wrote last edited by
            #5

            @reiver @steve

            What I found interesting and had a nice exchange on some time ago (unfindable, lost in the fedi) is that I found what is listed on the ActivityPub API task force README to be a particular interpretation of what is needed, that is not the minimum perhaps.

            But that is against my thinking that fediverse - via post-facto interoperability and protocol decay - diverged from the power and promise of AP. With AP a "social graph of addressable actors that exchange activities with an object payload" and fediverse having all kinds of leaked abstractions and conventions that make it more a content publishing environment to remodel existing social media but more decentralized.

            https://github.com/swicg/activitypub-api

            What fedivers is, is in the eye of the beholder, though, so 🤷

            smallcircles@social.coopS 1 Reply Last reply
            0
            • smallcircles@social.coopS smallcircles@social.coop

              @reiver @steve

              What I found interesting and had a nice exchange on some time ago (unfindable, lost in the fedi) is that I found what is listed on the ActivityPub API task force README to be a particular interpretation of what is needed, that is not the minimum perhaps.

              But that is against my thinking that fediverse - via post-facto interoperability and protocol decay - diverged from the power and promise of AP. With AP a "social graph of addressable actors that exchange activities with an object payload" and fediverse having all kinds of leaked abstractions and conventions that make it more a content publishing environment to remodel existing social media but more decentralized.

              https://github.com/swicg/activitypub-api

              What fedivers is, is in the eye of the beholder, though, so 🤷

              smallcircles@social.coopS This user is from outside of this forum
              smallcircles@social.coopS This user is from outside of this forum
              smallcircles@social.coop
              wrote last edited by
              #6

              @reiver @steve

              See also https://social.coop/@smallcircles/116379158584600016

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

                @reiver Thanks. I knew there were some related git issues, but I didn't know Evan had created a document for his proposals. Based on that document, servers that don't support OAuth2 auth code grants would not be considered C2S (Social API) servers. It's interesting to me that there's no requirement for outbox POST or inbox GET. It seems like Mastodon would satisfy these C2S server requirements (OAuth2 auth code grants, bearer tokens, 429 rate limits, etc.), but that doesn't seem correct to me.

                reiver@mastodon.socialR This user is from outside of this forum
                reiver@mastodon.socialR This user is from outside of this forum
                reiver@mastodon.social
                wrote last edited by
                #7

                @steve

                I think the document is preliminary. And, Evan has asked for feedback.

                I'm sure he would welcome your feedback on anything you feel is missing.

                1 Reply Last reply
                0
                • ? Guest crossposted this topic to General Discussion
                • steve@social.technoetic.comS steve@social.technoetic.com

                  What would you consider the minimal features to be considered an #ActivityPub C2S server? Support for inbox GET, outbox POST, OAuth2, proxy endpoint, ... ?

                  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

                  @steve you saw this right?

                  https://swicg.github.io/activitypub-api/basicprofile

                  Maybe we can work together on it?

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

                    @reiver Thanks. I knew there were some related git issues, but I didn't know Evan had created a document for his proposals. Based on that document, servers that don't support OAuth2 auth code grants would not be considered C2S (Social API) servers. It's interesting to me that there's no requirement for outbox POST or inbox GET. It seems like Mastodon would satisfy these C2S server requirements (OAuth2 auth code grants, bearer tokens, 429 rate limits, etc.), but that doesn't seem correct to me.

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

                    @steve @reiver so, this is a profile to make it easier to write social API clients.

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

                      @steve @reiver so, this is a profile to make it easier to write social API clients.

                      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

                      @steve @reiver authorization code flow is so common in OAuth 2 that a lot of people just call it "OAuth". What were you thinking of instead?

                      evan@cosocial.caE steve@social.technoetic.comS 2 Replies Last reply
                      0
                      • evan@cosocial.caE evan@cosocial.ca

                        @steve @reiver authorization code flow is so common in OAuth 2 that a lot of people just call it "OAuth". What were you thinking of instead?

                        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

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

                        evan@cosocial.caE steve@social.technoetic.comS 2 Replies Last reply
                        0
                        • 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.

                          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

                          @steve @reiver you can get pretty far with Mastodon's implementation of actors, collections and objects! It's an OK read-only API. The CORS support sucks, though; you have to run everything through a proxy.

                          evan@cosocial.caE steve@social.technoetic.comS 2 Replies Last reply
                          0
                          • evan@cosocial.caE evan@cosocial.ca

                            @steve @reiver authorization code flow is so common in OAuth 2 that a lot of people just call it "OAuth". What were you thinking of instead?

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

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

                            smallcircles@social.coopS evan@cosocial.caE 2 Replies 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.

                              smallcircles@social.coopS This user is from outside of this forum
                              smallcircles@social.coopS This user is from outside of this forum
                              smallcircles@social.coop
                              wrote last edited by
                              #14

                              @steve @evan @reiver

                              Adding the link, for reader's information..

                              https://codeberg.org/fediverse/delightful-fediverse-apps/issues/130

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

                                @steve @reiver you can get pretty far with Mastodon's implementation of actors, collections and objects! It's an OK read-only API. The CORS support sucks, though; you have to run everything through a proxy.

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

                                @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 steve@social.technoetic.comS 2 Replies Last reply
                                0
                                • evan@cosocial.caE evan@cosocial.ca

                                  @steve @reiver you can get pretty far with Mastodon's implementation of actors, collections and objects! It's an OK read-only API. The CORS support sucks, though; you have to run everything through a proxy.

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

                                  @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 1 Reply Last reply
                                  0
                                  • 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

                                          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