Skip to content

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

Technical Discussion
2 2 0
  • Hey, all. So, almost two years ago I wrote this FEP:

    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.

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

    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.

    Hey evan@activitypub.space, 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 thisismissem@hachyderm.io 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 benpate@mastodon.social'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.

  • Android deep links to app content

    Technical Discussion links apps integration
    7
    0 Stimmen
    7 Beiträge
    0 Aufrufe
    julian@community.nodebb.orgJ
    You're right! NodeBB serves an outbox but doesn't put anything in it. Happy to work towards rectifying it... It just didn't seem to break anything and you're honestly one of the first who even noticed
  • Testing https://checkin.swf.pub/

    Technical Discussion
    2
    0 Stimmen
    2 Beiträge
    0 Aufrufe
    julian@community.nodebb.orgJ
    That's a really good question, I am not actually aware of any list of software implementing the ActivityPub API. silverpill@mitra.social and steve@social.technoetic.com may have some leads.