Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • 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
We Distribute
  1. Home
  2. General Discussion
  3. For people interested in #ActivityPub #C2S (client to server), the #GoActivityPub services have gained the ability to dynamically register OAuth2 clients based on RFC7591.

For people interested in #ActivityPub #C2S (client to server), the #GoActivityPub services have gained the ability to dynamically register OAuth2 clients based on RFC7591.

Scheduled Pinned Locked Moved General Discussion
goactivitypubc2sactivitypub
21 Posts 5 Posters 0 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.
  • smallcircles@social.coopS smallcircles@social.coop

    @mariusor woot! 🥳

    Link Preview Image
    Which ActivityPub applications support Client-to-Server (C2S)?

    delightful-fediverse-experience - A curated list of server applications supported on the ActivityPub Fediverse and related standards.

    favicon

    Codeberg.org (codeberg.org)

    mariusor@metalhead.clubM This user is from outside of this forum
    mariusor@metalhead.clubM This user is from outside of this forum
    mariusor@metalhead.club
    wrote last edited by
    #3

    @smallcircles thank you Arnold. 🙂

    smallcircles@social.coopS 1 Reply Last reply
    0
    • mariusor@metalhead.clubM mariusor@metalhead.club

      @smallcircles thank you Arnold. 🙂

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

      @mariusor

      The codeberg issue is kind of still an ugly scratch pad rn. The thing awaits a follow-up where stuff is more organized and easier to drill down into. Proper docs eventually.

      A first step may be to name the discrete and granular building blocks that one should focus on when starting out on an #ActivityPub client-to-server adventure quest. Give them consistent names. And then to map all the various projects to that as a MDN-like who-supports-what table.

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

        @mariusor

        The codeberg issue is kind of still an ugly scratch pad rn. The thing awaits a follow-up where stuff is more organized and easier to drill down into. Proper docs eventually.

        A first step may be to name the discrete and granular building blocks that one should focus on when starting out on an #ActivityPub client-to-server adventure quest. Give them consistent names. And then to map all the various projects to that as a MDN-like who-supports-what table.

        mariusor@metalhead.clubM This user is from outside of this forum
        mariusor@metalhead.clubM This user is from outside of this forum
        mariusor@metalhead.club
        wrote last edited by
        #5

        @smallcircles GoActivityPub servers support following things for Client to Server:

        * Accessing objects and collections
        * Filtering the collections through query parameters (eg. ?type=Create)

        * Support for OAuth2 actor endpoints information and authorization
        * Support for .well-known information (webfinger and now, OAuth2 client registration)

        * ACLs for accessing them based on recipients list - this includes collection filtering of individual items
        * ACL principal extraction from OAuth2 Bearer token (or from HTTP-Signature)

        * Outbox Activity validation & processing (which I think is the main one :D)

        mariusor@metalhead.clubM 1 Reply Last reply
        0
        • mariusor@metalhead.clubM mariusor@metalhead.club

          @smallcircles GoActivityPub servers support following things for Client to Server:

          * Accessing objects and collections
          * Filtering the collections through query parameters (eg. ?type=Create)

          * Support for OAuth2 actor endpoints information and authorization
          * Support for .well-known information (webfinger and now, OAuth2 client registration)

          * ACLs for accessing them based on recipients list - this includes collection filtering of individual items
          * ACL principal extraction from OAuth2 Bearer token (or from HTTP-Signature)

          * Outbox Activity validation & processing (which I think is the main one :D)

          mariusor@metalhead.clubM This user is from outside of this forum
          mariusor@metalhead.clubM This user is from outside of this forum
          mariusor@metalhead.club
          wrote last edited by
          #6

          ( @smallcircles in case you wanted a starting point )

          smallcircles@social.coopS 1 Reply Last reply
          0
          • mariusor@metalhead.clubM mariusor@metalhead.club

            ( @smallcircles in case you wanted a starting point )

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

            @mariusor wonderful, thank you. It is updated on codeberg now 🙂

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

              @mariusor wonderful, thank you. It is updated on codeberg now 🙂

              mariusor@metalhead.clubM This user is from outside of this forum
              mariusor@metalhead.clubM This user is from outside of this forum
              mariusor@metalhead.club
              wrote last edited by
              #8

              @smallcircles sometime in the future I'll have a bit more explanations about the different things to incorporate in the #GoActivityPub documentation.

              I'll try to remember to ping you. 🙂

              1 Reply Last reply
              0
              • mariusor@metalhead.clubM mariusor@metalhead.club

                For people interested in #ActivityPub #C2S (client to server), the #GoActivityPub services have gained the ability to dynamically register OAuth2 clients based on RFC7591.

                The easiest to test is the ONI project that can be directly run without much setup: https://git.sr.ht/~mariusor/oni

                django@social.coopD This user is from outside of this forum
                django@social.coopD This user is from outside of this forum
                django@social.coop
                wrote last edited by
                #9

                @mariusor this is great, I'm looking forward to testing this 🔥

                mariusor@metalhead.clubM 1 Reply Last reply
                0
                • django@social.coopD django@social.coop

                  @mariusor this is great, I'm looking forward to testing this 🔥

                  mariusor@metalhead.clubM This user is from outside of this forum
                  mariusor@metalhead.clubM This user is from outside of this forum
                  mariusor@metalhead.club
                  wrote last edited by
                  #10

                  When you do, feel free to ping me with questions (here or on the mailing list).

                  1 Reply Last reply
                  0
                  • mariusor@metalhead.clubM mariusor@metalhead.club

                    For people interested in #ActivityPub #C2S (client to server), the #GoActivityPub services have gained the ability to dynamically register OAuth2 clients based on RFC7591.

                    The easiest to test is the ONI project that can be directly run without much setup: https://git.sr.ht/~mariusor/oni

                    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

                    @mariusor nice!

                    1 Reply Last reply
                    0
                    • mariusor@metalhead.clubM mariusor@metalhead.club

                      For people interested in #ActivityPub #C2S (client to server), the #GoActivityPub services have gained the ability to dynamically register OAuth2 clients based on RFC7591.

                      The easiest to test is the ONI project that can be directly run without much setup: https://git.sr.ht/~mariusor/oni

                      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

                      @mariusor did you implement the oauth metadata endpoint also? Can clients discover the registration endpoint easily?

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

                        @mariusor did you implement the oauth metadata endpoint also? Can clients discover the registration endpoint easily?

                        mariusor@metalhead.clubM This user is from outside of this forum
                        mariusor@metalhead.clubM This user is from outside of this forum
                        mariusor@metalhead.club
                        wrote last edited by
                        #13

                        @evan yes, yes, of course. 😄 They go hand in hand...

                        I remember seeing on the SWICG mailing list a comment where this mechanism is no longer considered secure, but I don't recall the details.

                        evan@cosocial.caE 1 Reply Last reply
                        0
                        • mariusor@metalhead.clubM mariusor@metalhead.club

                          @evan yes, yes, of course. 😄 They go hand in hand...

                          I remember seeing on the SWICG mailing list a comment where this mechanism is no longer considered secure, but I don't recall the details.

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

                          @mariusor yeah, it might be a good idea to think about CIMD. It uses the same schema of properties as dynamic registration, but you fetch them at authorization time instead. I implemented both in onepage.pub and it was pretty straightforward.

                          Link Preview Image
                          CIMD - OAuth Client ID Metadata Documents

                          Learn about Client ID Metadata Documents (CIMD) - a new OAuth approach that lets clients identify themselves using URLs instead of preregistration. Presented by Stytch.

                          favicon

                          CIMD (client.dev)

                          evan@cosocial.caE mariusor@metalhead.clubM 2 Replies Last reply
                          0
                          • evan@cosocial.caE evan@cosocial.ca

                            @mariusor yeah, it might be a good idea to think about CIMD. It uses the same schema of properties as dynamic registration, but you fetch them at authorization time instead. I implemented both in onepage.pub and it was pretty straightforward.

                            Link Preview Image
                            CIMD - OAuth Client ID Metadata Documents

                            Learn about Client ID Metadata Documents (CIMD) - a new OAuth approach that lets clients identify themselves using URLs instead of preregistration. Presented by Stytch.

                            favicon

                            CIMD (client.dev)

                            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

                            @mariusor are you coming to FOSDEM? I think we should have an ActivityPub API hackday.

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

                              @mariusor are you coming to FOSDEM? I think we should have an ActivityPub API hackday.

                              mariusor@metalhead.clubM This user is from outside of this forum
                              mariusor@metalhead.clubM This user is from outside of this forum
                              mariusor@metalhead.club
                              wrote last edited by
                              #16

                              @evan as of now I don't plan to come.

                              But I have no other obligations for February, maybe a last minute change of heart. 😄

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

                                @mariusor yeah, it might be a good idea to think about CIMD. It uses the same schema of properties as dynamic registration, but you fetch them at authorization time instead. I implemented both in onepage.pub and it was pretty straightforward.

                                Link Preview Image
                                CIMD - OAuth Client ID Metadata Documents

                                Learn about Client ID Metadata Documents (CIMD) - a new OAuth approach that lets clients identify themselves using URLs instead of preregistration. Presented by Stytch.

                                favicon

                                CIMD (client.dev)

                                mariusor@metalhead.clubM This user is from outside of this forum
                                mariusor@metalhead.clubM This user is from outside of this forum
                                mariusor@metalhead.club
                                wrote last edited by
                                #17

                                @evan yes, this is the one, I realized I already added it to my ticket list: https://todo.sr.ht/~mariusor/go-activitypub/337

                                1 Reply Last reply
                                0
                                • mariusor@metalhead.clubM mariusor@metalhead.club

                                  @evan as of now I don't plan to come.

                                  But I have no other obligations for February, maybe a last minute change of heart. 😄

                                  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

                                  @mariusor let me ask, what are your opinions on beer?

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

                                    @mariusor let me ask, what are your opinions on beer?

                                    mariusor@metalhead.clubM This user is from outside of this forum
                                    mariusor@metalhead.clubM This user is from outside of this forum
                                    mariusor@metalhead.club
                                    wrote last edited by
                                    #19

                                    @evan I lived in Burssels for some many years, you won't tempt me with beer. 😈

                                    evan@cosocial.caE 1 Reply Last reply
                                    0
                                    • mariusor@metalhead.clubM mariusor@metalhead.club

                                      @evan I lived in Burssels for some many years, you won't tempt me with beer. 😈

                                      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

                                      @mariusor that's too bad. All I have left is mussels, French fries, large-scale bureaucracy, and peeing statues.

                                      1 Reply Last reply
                                      0
                                      • mariusor@metalhead.clubM mariusor@metalhead.club

                                        For people interested in #ActivityPub #C2S (client to server), the #GoActivityPub services have gained the ability to dynamically register OAuth2 clients based on RFC7591.

                                        The easiest to test is the ONI project that can be directly run without much setup: https://git.sr.ht/~mariusor/oni

                                        thisismissem@activitypub.spaceT This user is from outside of this forum
                                        thisismissem@activitypub.spaceT This user is from outside of this forum
                                        thisismissem@activitypub.space
                                        wrote last edited by
                                        #21

                                        I'd generally discourage RFC7591 in decentralized systems due to the fact that it creates client sprawl (this is currently a problem with Mastodon's client registration mechanism, which is why we created CIMDs) — every client in RFC7591 is a distinct client, with its own client_id and client_secret, which can make client management interfaces difficult to implement (e.g., every time you login on a mobile device or SPA, you'll get a brand new client_id). CIMDs solve this by anchoring client metadata to a URI, and using that URI as the client_id.

                                        If you need to test clients using CIMDs in development, there is cimd-service however, it's currently targeting the AT Protocol ecosystem (so has a few specifics that at present there that would not necessarily make sense of ActivityPub)

                                        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