Skip to content
  • Hjem
  • Seneste
  • Etiketter
  • Populære
  • Verden
  • Bruger
  • Grupper
Temaer
  • 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
Kollaps
FARVEL BIG TECH
  1. Forside
  2. Ikke-kategoriseret
  3. @julian diving into the hard problems of building for the Fediverse at #Fedicon, starting with hilariously talking about how those hard problems look like to average users 😅

@julian diving into the hard problems of building for the Fediverse at #Fedicon, starting with hilariously talking about how those hard problems look like to average users 😅

Planlagt Fastgjort Låst Flyttet Ikke-kategoriseret
fedicon
98 Indlæg 13 Posters 0 Visninger
  • Ældste til nyeste
  • Nyeste til ældste
  • Most Votes
Svar
  • Svar som emne
Login for at svare
Denne tråd er blevet slettet. Kun brugere med emne behandlings privilegier kan se den.
  • benpate@mastodon.socialB This user is from outside of this forum
    benpate@mastodon.socialB This user is from outside of this forum
    benpate@mastodon.social
    wrote sidst redigeret af
    #67

    I'm still catching up on this conversation, but I just want to add that this analysis is spot on. Very well said, Julian. Thank you!

    I'm collecting a few thoughts on this that won't fit into a toot, so I'll probably post them elsewhere and link back here once I get it together.

    @julian @FenTiger @evan

    1 Reply Last reply
    0
    • thisismissem@hachyderm.ioT thisismissem@hachyderm.io

      @julian @naturzukunft FEP/d8c2 is poorly designed and the comments on socialhub show this. It's not how OAuth is meant to work.

      We should be using Authorization Server Metadata + Rich Authorization Requests for any OAuth implementation for an ActivityPub API.

      Scopes would ultimately be pretty minimal, e.g., profile, offline_access (both OIDC), and maybe like manage:keys for updating signing keys; the rest should probably be RARs.

      For discovery, if the Actor object advertises an authentication method of OAuth or OIDC, the look for the authorization server URL, discover all OAuth specifics from there.

      For clients, you could do dynamic client registration, but it has drawbacks, so I'd recommend Client ID Metadata Documents.

      risottobias@toot.risottobias.orgR This user is from outside of this forum
      risottobias@toot.risottobias.orgR This user is from outside of this forum
      risottobias@toot.risottobias.org
      wrote sidst redigeret af
      #68

      @thisismissem @julian @naturzukunft is this in a FEP or RFC someplace?

      thisismissem@hachyderm.ioT 1 Reply Last reply
      0
      • fentiger@mastodon.socialF fentiger@mastodon.social

        @julian @benpate @evan I think FEP-3b86 only really allows for actions that the home server already knows how to carry out; the advantage of FEP-d8c2 is that it allows clients to add functionality of their own; see eg Evan's checkin app, which can post geo-tagged activities even via a server which doesn't natively support them.

        benpate@mastodon.socialB This user is from outside of this forum
        benpate@mastodon.socialB This user is from outside of this forum
        benpate@mastodon.social
        wrote sidst redigeret af
        #69

        @FenTiger @julian @evan

        This is a good point, though I'm not clear how different servers would handle outbox requests for activities that they don't support. I'm pretty sure mine would just die.

        My big concern with OAuth tokens is that they require me to give away write access to my Fediverse identity when I "like" or "reply" to something, which could easily be an attack vector.

        We talked about scoping OAuth tokens, but it feels like a lot of moving parts. More details later

        fentiger@mastodon.socialF evan@cosocial.caE 2 Replies Last reply
        0
        • risottobias@toot.risottobias.orgR risottobias@toot.risottobias.org

          @thisismissem @julian @naturzukunft is this in a FEP or RFC someplace?

          thisismissem@hachyderm.ioT This user is from outside of this forum
          thisismissem@hachyderm.ioT This user is from outside of this forum
          thisismissem@hachyderm.io
          wrote sidst redigeret af
          #70

          @risottobias @julian @naturzukunft anyone paying me to write it? No? Then there's probably not gonna be s document appear whilst I struggle to pay my rent

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

            @thisismissem @julian @naturzukunft the point of discovery is to find the important endpoints and parameters for the flows. Many implementers who are concentrating on a single API skip discovery because the resource provider has already defined the specific flow. Alternatively, many API providers allow client registration out of band. It is absolutely 100% OK to do OAuth without using features like discovery and dynamic client registration.

            benpate@mastodon.socialB This user is from outside of this forum
            benpate@mastodon.socialB This user is from outside of this forum
            benpate@mastodon.social
            wrote sidst redigeret af
            #71

            I'm genuinely behind on this. I've skimmed Evan's FEP, but a lot of OAuth complexity is still opaque to me.

            It seems like the missing piece with using the C2S API would be *figuring out* what endpoints I can call to initiate an activity.

            Does FEP-d8c2 implement discovery in some way that I'm not seeing? Or, is this something *still to be defined* and I'm just jumping the gun, here?

            @evan @thisismissem @julian @naturzukunft

            fentiger@mastodon.socialF by_caballero@mastodon.socialB evan@cosocial.caE 3 Replies Last reply
            0
            • benpate@mastodon.socialB benpate@mastodon.social

              @FenTiger @julian @evan

              This is a good point, though I'm not clear how different servers would handle outbox requests for activities that they don't support. I'm pretty sure mine would just die.

              My big concern with OAuth tokens is that they require me to give away write access to my Fediverse identity when I "like" or "reply" to something, which could easily be an attack vector.

              We talked about scoping OAuth tokens, but it feels like a lot of moving parts. More details later

              fentiger@mastodon.socialF This user is from outside of this forum
              fentiger@mastodon.socialF This user is from outside of this forum
              fentiger@mastodon.social
              wrote sidst redigeret af
              #72

              @benpate @julian I suppose this is where fine grained authorization (such as RAR) comes in - assuming that people will understand it - which they might not!

              Looking forward to talking about the details properly...

              benpate@mastodon.socialB 1 Reply Last reply
              0
              • benpate@mastodon.socialB benpate@mastodon.social

                I'm genuinely behind on this. I've skimmed Evan's FEP, but a lot of OAuth complexity is still opaque to me.

                It seems like the missing piece with using the C2S API would be *figuring out* what endpoints I can call to initiate an activity.

                Does FEP-d8c2 implement discovery in some way that I'm not seeing? Or, is this something *still to be defined* and I'm just jumping the gun, here?

                @evan @thisismissem @julian @naturzukunft

                fentiger@mastodon.socialF This user is from outside of this forum
                fentiger@mastodon.socialF This user is from outside of this forum
                fentiger@mastodon.social
                wrote sidst redigeret af
                #73

                @benpate @evan @thisismissem @julian @naturzukunft I think the idea is that you get an access_token which you can use to post to the outbox - which you can discover from the Actor object.

                benpate@mastodon.socialB 1 Reply Last reply
                0
                • fentiger@mastodon.socialF fentiger@mastodon.social

                  @benpate @julian I suppose this is where fine grained authorization (such as RAR) comes in - assuming that people will understand it - which they might not!

                  Looking forward to talking about the details properly...

                  benpate@mastodon.socialB This user is from outside of this forum
                  benpate@mastodon.socialB This user is from outside of this forum
                  benpate@mastodon.social
                  wrote sidst redigeret af
                  #74

                  @FenTiger @julian

                  Yes. It seems possible, but would require a lot of complex thought to do well. And that complexity is pushed onto the user, who has to determine if they like the terms that the website is presenting in order to continue putting a "star" on an article.

                  You and I will implement this ethically. Others will implement it adversarially -- I want to build the protocol to protect against the next Cambridge Analytica.

                  1 Reply Last reply
                  0
                  • fentiger@mastodon.socialF fentiger@mastodon.social

                    @benpate @evan @thisismissem @julian @naturzukunft I think the idea is that you get an access_token which you can use to post to the outbox - which you can discover from the Actor object.

                    benpate@mastodon.socialB This user is from outside of this forum
                    benpate@mastodon.socialB This user is from outside of this forum
                    benpate@mastodon.social
                    wrote sidst redigeret af
                    #75

                    But most software doesn't support the C2S API, so that POST would either fail, or the server would lie and say "thanks for submitting this activity" and then just do nothing with it.

                    I'd like to know that the activity is going to fail BEFORE I hit submit. Otherwise, users will run into a dead end, and the server that originated the request won't have any way to fix it.

                    Servers should know AHEAD OF TIME if they can post activities or not.

                    @FenTiger @evan @thisismissem @julian @naturzukunft

                    fentiger@mastodon.socialF 1 Reply Last reply
                    0
                    • benpate@mastodon.socialB benpate@mastodon.social

                      I'm genuinely behind on this. I've skimmed Evan's FEP, but a lot of OAuth complexity is still opaque to me.

                      It seems like the missing piece with using the C2S API would be *figuring out* what endpoints I can call to initiate an activity.

                      Does FEP-d8c2 implement discovery in some way that I'm not seeing? Or, is this something *still to be defined* and I'm just jumping the gun, here?

                      @evan @thisismissem @julian @naturzukunft

                      by_caballero@mastodon.socialB This user is from outside of this forum
                      by_caballero@mastodon.socialB This user is from outside of this forum
                      by_caballero@mastodon.social
                      wrote sidst redigeret af
                      #76

                      @benpate @evan @thisismissem @julian @naturzukunft SWICG c2s task force wen (or will the payments task force just naturally become the c2s tf over time)

                      by_caballero@mastodon.socialB 1 Reply Last reply
                      0
                      • by_caballero@mastodon.socialB by_caballero@mastodon.social

                        @benpate @evan @thisismissem @julian @naturzukunft SWICG c2s task force wen (or will the payments task force just naturally become the c2s tf over time)

                        by_caballero@mastodon.socialB This user is from outside of this forum
                        by_caballero@mastodon.socialB This user is from outside of this forum
                        by_caballero@mastodon.social
                        wrote sidst redigeret af
                        #77

                        @benpate @evan @thisismissem @julian @naturzukunft all joking aside I think c2s requires emelia and Aaron's rfc on the OAuth side, and some equally complex discovery mechanism based on alternate AuthZ (presumably something based on certificate-ized Object Capabilities?) if we wanna stay composable and not-100%-dependent on oauth...

                        evan@cosocial.caE 1 Reply Last reply
                        0
                        • benpate@mastodon.socialB benpate@mastodon.social

                          But most software doesn't support the C2S API, so that POST would either fail, or the server would lie and say "thanks for submitting this activity" and then just do nothing with it.

                          I'd like to know that the activity is going to fail BEFORE I hit submit. Otherwise, users will run into a dead end, and the server that originated the request won't have any way to fix it.

                          Servers should know AHEAD OF TIME if they can post activities or not.

                          @FenTiger @evan @thisismissem @julian @naturzukunft

                          fentiger@mastodon.socialF This user is from outside of this forum
                          fentiger@mastodon.socialF This user is from outside of this forum
                          fentiger@mastodon.social
                          wrote sidst redigeret af
                          #78

                          @benpate @evan @thisismissem @julian @naturzukunft It's certainly helpful to have a way to know if you should show that button on the UI or not!

                          julian@community.nodebb.orgJ 1 Reply Last reply
                          0
                          • fentiger@mastodon.socialF fentiger@mastodon.social

                            @benpate @evan @thisismissem @julian @naturzukunft It's certainly helpful to have a way to know if you should show that button on the UI or not!

                            julian@community.nodebb.orgJ This user is from outside of this forum
                            julian@community.nodebb.orgJ This user is from outside of this forum
                            julian@community.nodebb.org
                            wrote sidst redigeret af julian@community.nodebb.org
                            #79

                            fentiger@mastodon.social benpate@mastodon.social exactly, we need some guarantee that the activity we POST to the outbox isn’t just unceremoniously dropped and an HTTP 200 returned.

                            NodeBB doesn’t support POSTing the outbox at the moment, but do you return a HTTP code for “not implemented”, currently.

                            1 Reply Last reply
                            0
                            • fentiger@mastodon.socialF fentiger@mastodon.social

                              @benpate @julian I'm not sure OWA is the way forward here; mainly it's a lightweight authentication-only alternative to OAuth, and for FEP-d8c2-style SSO the authorization part - issuing the access_token - is important.

                              FEP-61cf does describe the "zid" mechanism that can be used to avoid the user having to type their handle in; maybe this will be useful (though it's not without its downsides).

                              benpate@mastodon.socialB This user is from outside of this forum
                              benpate@mastodon.socialB This user is from outside of this forum
                              benpate@mastodon.social
                              wrote sidst redigeret af
                              #80

                              @FenTiger @julian

                              Yes, this makes sense. OWA was a partial match for my FEP, but doesn't fit this larger use case we're discussing.

                              Exciting!

                              1 Reply Last reply
                              0
                              • 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 sidst redigeret af
                                #81

                                @julian @FenTiger @benpate there's no way to know that.

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

                                  @julian @FenTiger @benpate there's no way to know that.

                                  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 sidst redigeret af
                                  #82

                                  @julian @FenTiger @benpate at that point, it's just about social pressure. "This implementation doesn't work with clients well, don't use it."

                                  1 Reply Last reply
                                  0
                                  • by_caballero@mastodon.socialB by_caballero@mastodon.social

                                    @benpate @evan @thisismissem @julian @naturzukunft all joking aside I think c2s requires emelia and Aaron's rfc on the OAuth side, and some equally complex discovery mechanism based on alternate AuthZ (presumably something based on certificate-ized Object Capabilities?) if we wanna stay composable and not-100%-dependent on oauth...

                                    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 sidst redigeret af
                                    #83

                                    @by_caballero @benpate @thisismissem @julian @naturzukunft that's too hard. We have an API. It already works.

                                    julian@community.nodebb.orgJ 1 Reply Last reply
                                    0
                                    • benpate@mastodon.socialB benpate@mastodon.social

                                      @FenTiger @julian @evan

                                      This is a good point, though I'm not clear how different servers would handle outbox requests for activities that they don't support. I'm pretty sure mine would just die.

                                      My big concern with OAuth tokens is that they require me to give away write access to my Fediverse identity when I "like" or "reply" to something, which could easily be an attack vector.

                                      We talked about scoping OAuth tokens, but it feels like a lot of moving parts. More details later

                                      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 sidst redigeret af
                                      #84

                                      @benpate @FenTiger @julian they should just pass them along! If you don't implement a side effect for that activity type, just leave it alone and pass it along to clients.

                                      evan@cosocial.caE benpate@mastodon.socialB 2 Replies Last reply
                                      0
                                      • evan@cosocial.caE evan@cosocial.ca

                                        @benpate @FenTiger @julian they should just pass them along! If you don't implement a side effect for that activity type, just leave it alone and pass it along to 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 sidst redigeret af
                                        #85

                                        @benpate @FenTiger @julian the plan there is to have finer grained scopes for particular activities. And also limiting them by domain: "let this server Like and Reply to objects on its own domain"

                                        https://codeberg.org/evanp/fep/issues/8

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

                                          @benpate @FenTiger @julian the plan there is to have finer grained scopes for particular activities. And also limiting them by domain: "let this server Like and Reply to objects on its own domain"

                                          https://codeberg.org/evanp/fep/issues/8

                                          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 sidst redigeret af
                                          #86

                                          @benpate @FenTiger @julian there's a whole chapter about the API in my book:

                                          https://evanp.me/activitypub-book/

                                          evan@cosocial.caE 1 Reply Last reply
                                          0
                                          Svar
                                          • Svar som emne
                                          Login for at svare
                                          • Ældste til nyeste
                                          • Nyeste til ældste
                                          • Most Votes


                                          • Log ind

                                          • Har du ikke en konto? Tilmeld

                                          • Login or register to search.
                                          Powered by NodeBB Contributors
                                          Graciously hosted by data.coop
                                          • First post
                                            Last post
                                          0
                                          • Hjem
                                          • Seneste
                                          • Etiketter
                                          • Populære
                                          • Verden
                                          • Bruger
                                          • Grupper