Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • 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

Darkscribes Community

  1. Home
  2. Technical Discussion
  3. Breaking up FEP d8c2 (OAuth 2.0 profile for the ActivityPub API)

Breaking up FEP d8c2 (OAuth 2.0 profile for the ActivityPub API)

Scheduled Pinned Locked Moved Technical Discussion
2 Posts 2 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.
  • evan@activitypub.spaceE This user is from outside of this forum
    evan@activitypub.spaceE This user is from outside of this forum
    [email protected]
    wrote last edited by
    #1

    Hey, all. So, almost two years ago I wrote this FEP:

    https://codeberg.org/fediverse/fep/src/branch/main/fep/d8c2/fep-d8c2.md

    It defines a profile for using OAuth 2.0 with the ActivityPub API, with a few components:

    • Using the bog-standard OAuth authorization code flow as described at https://oauth.com/, including PKCE
    • Using the endpoints, oauthAuthorizationEndpoint and oauthTokenEndpoint properties of an actor for discovery of endpoints
    • Using a small set of scopes (defined in the FEP as 'read', 'write' and 'sameorigin', but with a much longer more detailed list here
    • A registrationless client ID mechanism that depends on having an Application ActivityPub object live on the Web.

    Of these 4 points, I think the first two are defined pretty well elsewhere. It is probably a good idea to just let those be defined elsewhere. I think the possibility of an OAuth TF for the SocialCG suggests that those options can be worked out there.

    That leaves the two novel parts of the FEP: the registration-less client IDs, and the scopes. I think I'd like to slim down the current FEP to just the registration-less client IDs, and start another FEP for the scopes.

    julian@community.nodebb.orgJ 1 Reply Last reply
    0
    • evan@activitypub.spaceE [email protected]

      Hey, all. So, almost two years ago I wrote this FEP:

      https://codeberg.org/fediverse/fep/src/branch/main/fep/d8c2/fep-d8c2.md

      It defines a profile for using OAuth 2.0 with the ActivityPub API, with a few components:

      • Using the bog-standard OAuth authorization code flow as described at https://oauth.com/, including PKCE
      • Using the endpoints, oauthAuthorizationEndpoint and oauthTokenEndpoint properties of an actor for discovery of endpoints
      • Using a small set of scopes (defined in the FEP as 'read', 'write' and 'sameorigin', but with a much longer more detailed list here
      • A registrationless client ID mechanism that depends on having an Application ActivityPub object live on the Web.

      Of these 4 points, I think the first two are defined pretty well elsewhere. It is probably a good idea to just let those be defined elsewhere. I think the possibility of an OAuth TF for the SocialCG suggests that those options can be worked out there.

      That leaves the two novel parts of the FEP: the registration-less client IDs, and the scopes. I think I'd like to slim down the current FEP to just the registration-less client IDs, and start another FEP for the scopes.

      julian@community.nodebb.orgJ This user is from outside of this forum
      julian@community.nodebb.orgJ This user is from outside of this forum
      [email protected]
      wrote last edited by
      #2

      Hey [email protected], I am all-in on more, simpler FEPs over monolithic impenetrable FEPs.

      I take it that points 1 and 2 are due to concerns raised by [email protected] about how OAuth2 properties are already advertised in a standardized manner (I believe per OIDC or similar?) — no objections there.

      On the topic of scopes, I know [email protected]'s 3b86 (Activity Intents) had some ideas on defining intents that have some parallels to scopes. I don't agree with hardcoding them all into the FEP itself, but I'm interested in exploring how we structure scopes so that they're more straightforward as not quite as fine-grained — a single scope for every ActivityStreams activity type might be a bit of overkill.

      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
      • Users
      • Groups