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

    @julian @FenTiger

    Yes, count me in. I've been working on FEP-3b86 "Activity Intents" that is a "lighter weight" process that doesn't trade tokens with my origin server and relies on my home server to do all the work.

    Mike, how does all of this relate to FEP-61cf: "The OpenWebAuth Protocol"? Should we keep it in mind as well?

    Each process will have unique strengths and weaknesses, so Julian had proposed looking for a way to support multiple connections at the same time.

    julian@community.nodebb.orgJ fentiger@mastodon.socialF 2 Replies Last reply
    0
    • benpate@mastodon.socialB benpate@mastodon.social

      @julian @FenTiger

      Yes, count me in. I've been working on FEP-3b86 "Activity Intents" that is a "lighter weight" process that doesn't trade tokens with my origin server and relies on my home server to do all the work.

      Mike, how does all of this relate to FEP-61cf: "The OpenWebAuth Protocol"? Should we keep it in mind as well?

      Each process will have unique strengths and weaknesses, so Julian had proposed looking for a way to support multiple connections at the same time.

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

      The way I see it, there are two parts to solving account fragmentation.

      1. Log in via your handle
        • This is the entirety of FEP-61cf: The OpenWebAuth Protocol
        • This is the first half of FEP-d8c2: OAuth 2.0 Profile for the ActivityPub API
        • In FEP-3b86: Activity Intents, the exercise is left to the reader
      2. Do something using that handle
        • In FEP-61cf: The OpenWebAuth Protocol, this exercise is left to the reader
        • This is the second half of FEP-d8c2: OAuth 2.0 Profile for the ActivityPub API
        • This is the entirety of FEP-3b86: Activity Intents

      So you can see that these three FEPs attempt to solve different parts of the problem, but that doesn’t necessarily mean that they conflict. In fact, the “first half” can be done however you want. I think benpate@mastodon.social said that it could literally be as simple as showing a textbox in the UI that says “paste your home server here”. No OAuth or jwt hijinks necessary.

      It’s the second half where we need to come up with a recommendation for how to gracefully degrade between APIs. (instead of progressively enhancing)

      fentiger@mastodon.social thanks for reminding me of your FEP. Let’s include it in our discussions and work together.

      1 Reply Last reply
      0
      • naturzukunft@mastodon.socialN This user is from outside of this forum
        naturzukunft@mastodon.socialN This user is from outside of this forum
        naturzukunft@mastodon.social
        wrote sidst redigeret af
        #24

        @julian @benpate @FenTiger @evan I am still unclear about how to separate the resource server from the authentication server when implementing FEP-d8c2. This is an essential criterion of OAuth2 and enables the use of existing OAuth2 servers. However, I have the feeling that FEP-d8c2 blocks this path.

        https://socialhub.activitypub.rocks/t/fep-d8c2-oauth-2-0-profile-for-the-activitypub-api/3575/38?u=naturzukunft

        https://mastodon.social/@naturzukunft/114862386696097601

        julian@community.nodebb.orgJ fentiger@mastodon.socialF 2 Replies Last reply
        0
        • naturzukunft@mastodon.socialN naturzukunft@mastodon.social

          @julian @benpate @FenTiger @evan I am still unclear about how to separate the resource server from the authentication server when implementing FEP-d8c2. This is an essential criterion of OAuth2 and enables the use of existing OAuth2 servers. However, I have the feeling that FEP-d8c2 blocks this path.

          https://socialhub.activitypub.rocks/t/fep-d8c2-oauth-2-0-profile-for-the-activitypub-api/3575/38?u=naturzukunft

          https://mastodon.social/@naturzukunft/114862386696097601

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

          naturzukunft@mastodon.social the assumption here is that the authentication server and the resource server are identical.

          I know thisismissem@hachyderm.io has thoughts on this because people will want to use third party authentication like FusionAuth.

          I don’t have an answer for that yet, but I am of the opinion that we proceed with a proof of concept without an answer for now.

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

            @julian @FenTiger

            Yes, count me in. I've been working on FEP-3b86 "Activity Intents" that is a "lighter weight" process that doesn't trade tokens with my origin server and relies on my home server to do all the work.

            Mike, how does all of this relate to FEP-61cf: "The OpenWebAuth Protocol"? Should we keep it in mind as well?

            Each process will have unique strengths and weaknesses, so Julian had proposed looking for a way to support multiple connections at the same time.

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

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

            julian@community.nodebb.orgJ benpate@mastodon.socialB 2 Replies Last reply
            0
            • 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
              #27

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

              evan@cosocial.caE benpate@mastodon.socialB 2 Replies Last reply
              0
              • naturzukunft@mastodon.socialN This user is from outside of this forum
                naturzukunft@mastodon.socialN This user is from outside of this forum
                naturzukunft@mastodon.social
                wrote sidst redigeret af
                #28

                @julian @thisismissem Currently, this would mean that #rdfpub will not participate in this proof of concept, as https://www.keycloak.org/ does not support FEP-d8c2. I would argue that FEP-d8c2 is not OAuth2 if a server such as keycloak cannot be used.

                1 Reply Last reply
                0
                • naturzukunft@mastodon.socialN naturzukunft@mastodon.social

                  @julian @benpate @FenTiger @evan I am still unclear about how to separate the resource server from the authentication server when implementing FEP-d8c2. This is an essential criterion of OAuth2 and enables the use of existing OAuth2 servers. However, I have the feeling that FEP-d8c2 blocks this path.

                  https://socialhub.activitypub.rocks/t/fep-d8c2-oauth-2-0-profile-for-the-activitypub-api/3575/38?u=naturzukunft

                  https://mastodon.social/@naturzukunft/114862386696097601

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

                  @naturzukunft @julian @benpate @evan They can't be entirely separated because the AS has to know how to dereference the client_id.

                  The Client ID Metadata Documents draft RFC will make it possible to do this without relying on non-OAuth standards on the AS side. I doubt there are many servers that support it right now, though (but I think Rauthy has some degree of support for this).

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

                    @naturzukunft @julian @benpate @evan They can't be entirely separated because the AS has to know how to dereference the client_id.

                    The Client ID Metadata Documents draft RFC will make it possible to do this without relying on non-OAuth standards on the AS side. I doubt there are many servers that support it right now, though (but I think Rauthy has some degree of support for this).

                    naturzukunft@mastodon.socialN This user is from outside of this forum
                    naturzukunft@mastodon.socialN This user is from outside of this forum
                    naturzukunft@mastodon.social
                    wrote sidst redigeret af
                    #30

                    @FenTiger @julian @benpate @evan So, are we doing something with activity-pub that is not supported by OAuth2?

                    fentiger@mastodon.socialF naturzukunft@mastodon.socialN 2 Replies Last reply
                    0
                    • naturzukunft@mastodon.socialN naturzukunft@mastodon.social

                      @FenTiger @julian @benpate @evan So, are we doing something with activity-pub that is not supported by OAuth2?

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

                      @naturzukunft @julian @benpate @evan Well, it's always been intended as a toolkit rather than as a "plug and play" server/client that are automatically compatible with one another.

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

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

                        fentiger@mastodon.social ah you’re right I hadn’t thought about that.

                        OWA simply can’t do the second part.

                        1 Reply Last reply
                        0
                        • naturzukunft@mastodon.socialN naturzukunft@mastodon.social

                          @FenTiger @julian @benpate @evan So, are we doing something with activity-pub that is not supported by OAuth2?

                          naturzukunft@mastodon.socialN This user is from outside of this forum
                          naturzukunft@mastodon.socialN This user is from outside of this forum
                          naturzukunft@mastodon.social
                          wrote sidst redigeret af
                          #33

                          @FenTiger @julian @benpate @evan Isn't PKCE solving the client_id problem ?

                          https://www.youtube.com/watch?v=g_aVPdwBTfw&t=500s

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

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

                            julian@community.nodebb.orgJ evan@cosocial.caE risottobias@toot.risottobias.orgR 3 Replies 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.

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

                              thisismissem@hachyderm.io said:
                              > Authorization Server Metadata + Rich Authorization Requests

                              Is this detailed out somewhere? I’m not familiar with those concepts currently.

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

                                @julian those are both RFCs, both are linked or referenced in the d8c2 thread on social hub

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

                                  @julian @naturzukunft @thisismissem i don't think there's any assumption that way.

                                  The one thing that the OAuth FEP assumes is that there's a way for the authorization server to validate the client ID and redirect URI by fetching the client ID.

                                  I have not looked closely enough at keycloak to see if there's a way to build a plugin or to have configurable executable code to do that.

                                  This seems like someone who really wants to use that configuration could take a few minutes to confirm.

                                  thisismissem@hachyderm.ioT evan@cosocial.caE naturzukunft@mastodon.socialN 3 Replies 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.

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

                                    @FenTiger @julian @benpate ding ding ding ding ding

                                    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.

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

                                      @thisismissem @julian @naturzukunft it does what's necessary to enable the authorization code flow.

                                      I think there's plenty of room for two tracks -- developers who want the complexity of discovery and registration can go your route, when you write it up.

                                      Developers who just want to get the job done can use the simple and functional AP-centric mechanism in the OAuth FEP.

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

                                        @julian @naturzukunft @thisismissem i don't think there's any assumption that way.

                                        The one thing that the OAuth FEP assumes is that there's a way for the authorization server to validate the client ID and redirect URI by fetching the client ID.

                                        I have not looked closely enough at keycloak to see if there's a way to build a plugin or to have configurable executable code to do that.

                                        This seems like someone who really wants to use that configuration could take a few minutes to confirm.

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

                                        @evan @julian @naturzukunft can keycloak parse a non-standard document to discover client metadata? No.

                                        There were very specific reasons why myself and @aaronpk chose to make Client ID Metadata Documents the way we did: because we reused existing parts of the OAuth specification ecosystem.

                                        Your proposal discards all that prior art in favour of making everything an AP actor.

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

                                          @evan @julian @naturzukunft can keycloak parse a non-standard document to discover client metadata? No.

                                          There were very specific reasons why myself and @aaronpk chose to make Client ID Metadata Documents the way we did: because we reused existing parts of the OAuth specification ecosystem.

                                          Your proposal discards all that prior art in favour of making everything an AP actor.

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

                                          @evan @julian @naturzukunft @aaronpk can keycloak support Client ID Metadata Documents? Currently not to my knowledge, but it's a lot easier to support because it's effectively the same process as dynamic client registration because the document payload is the same.

                                          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