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

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

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