Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.
Sign upSupport ActivityPub #499
Comments
added a commit
that referenced
this issue
May 31, 2018
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
pushcx
May 31, 2018
Member
This is great, and it's clear I have a lot of reading to do. I'm happy to replicate our Twitter + ML integration to this new platform and really appreciate you volunteering to start this.
|
This is great, and it's clear I have a lot of reading to do. I'm happy to replicate our Twitter + ML integration to this new platform and really appreciate you volunteering to start this. |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
talklittle
May 31, 2018
Contributor
Phase One: Add OAuth2, UI for generating Api Keys and the public inboxes for stoires and tags.
I've done a bit of work towards this using the Doorkeeper gem. It's been stalled for now, depending on a feature in the unreleased Doorkeeper 5.0 related to applications and scopes.
https://github.com/talklittle/lobsters/tree/oauth-2.0
Anyone working on OAuth support, feel free to fork, or ignore if you have something better.
I've done a bit of work towards this using the Doorkeeper gem. It's been stalled for now, depending on a feature in the unreleased Doorkeeper 5.0 related to applications and scopes. https://github.com/talklittle/lobsters/tree/oauth-2.0 Anyone working on OAuth support, feel free to fork, or ignore if you have something better. |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
pushcx
May 31, 2018
Member
@talklittle What prompted you to work on OAuth2? Did you see it as a first step towards ActivityPub, or did you have another goal in mind?
|
@talklittle What prompted you to work on OAuth2? Did you see it as a first step towards ActivityPub, or did you have another goal in mind? |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
talklittle
May 31, 2018
Contributor
I worked on OAuth toward the goal of an API supporting the creation of scripts, native apps, etc.
|
I worked on OAuth toward the goal of an API supporting the creation of scripts, native apps, etc. |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
picsi
Jun 8, 2018
This is great. For reference, you might get some ideas here https://mastodon.social/@prismo/100165010311738421
picsi
commented
Jun 8, 2018
|
This is great. For reference, you might get some ideas here https://mastodon.social/@prismo/100165010311738421 |
hmadison commentedMay 31, 2018
Hi pushcx,
Per our previous discussions in #lobsters and our feeling that we have come to some level of agreement. I would like add ActivityPub support to the lobste.rs codebase to act as a formalized API, and to allow for twitter style and mailing list style integrations with other ActivityPub supporting websites (e.g mastodon instances).
I don’t intend for these changes to:
In the spirt of openess, I do intend to provide options for sister sites to opt into these behaviors if their communites so desire.
My proposed milestones for this are as followed:
The changes I would make are listed below:
Client to Server (Phase One to Three)
Client To Server authentication would be implemented with OAuth2 (probably doorkeeper).
Actors
We would use two kinds of activity stream actor types, Person and Service.
Person would represent a lobste.rs user. Service objects would represent tags. Their names would either be
lobsters(for the home page feed) ortag-<tag-name>for the tag specific feed. These names would be unavailable for registration.Objects
We would use three kinds of objects Tags, Documents, and Notes. Tags and Documents would be used for stories and Notes would be used for comments.
Collections
For Persons
At this stage, the inbox would be a combination of the user’s front page, private messages, direct replies to user comments and all replies to user submitted stories. Filtering a tag would remove the tag from the inbox. Likewise hiding a story would remove user comments from the inbox. Inboxes would only be accessible to their owners.
The outbox would be a combination all stories submitted by the user and all comments posted by the user.
The liked collection would be all upvoted stories by the user.
For Services
The inbox be all stories posted to that tag or present on the home page. The outbox would be an empty collection.
Interactions Mapping
Server to Server (Phase Four)
Collections
To enable server to server, Person and Service would gain followers collections to track the 3rd party (federated) entities wanting to be notified of updates. Services would gain a following collections to track and ingest comments and stories from other servers.
Delivery and Verification
I feel we need to support 3 delivery and verification strategies.
Off
This would disable federation entirely.
Trusted Users Only
This would be the mode that lobste.rs would run in.
Each submitted story or comment would have its Linked Data Signature checked and validated against the user database. Only invited users in good standing with their public key added to the database would be allowed to post from outside instances.
Full
This would allow for sites running the lobster.rs codebase to run and build a federated network between themselves.