-
Notifications
You must be signed in to change notification settings - Fork 77
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add/User Delete activities #552
base: trunk
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
See if rebase is needed for removing dependency on #542
looks interesting I think sooner or later we need an outbox when the number of outgoing activities steadily grows... |
This comment has been minimized.
This comment has been minimized.
For now we're just deriving known Servers based on current users followers, I'll add the blog followers here as well. But (in a subsequent PR) we'll have to think about tracking known users: Receiving an actor Delete means we should delete any Comments they've sent. And possibly Inbox Forward the Delete Activity. |
@pfefferle after testing, the activity must be signed by the actor (mastodon ignores the actor Since the activity is scheduled, it creates a race condition where even if we pass the user_id to So a workaround would be to store key pair in an option during Code update forthcoming |
includes/class-signature.php
Outdated
$key = self::get_private_key_for( $user->get__id() ); | ||
$key_id = $user->get_url() . '#main-key'; | ||
} else { | ||
$temp_sig_options = get_option( 'activitypub_temp_sig_' . $user_id ); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this feels a bit hacky and might break things in the future, if we maybe introduce key rotation: https://swicg.github.io/activitypub-http-signature/#key-rotation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do we need a sig for deletes at all? The remote server is not able to verify it anyways!?!
This is very confusing https://swicg.github.io/activitypub-http-signature/#handling-deletes-of-actors
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Agreed it is very hacky! In my previous tests Mastodon ignored actor deletes signed by the instance actor, but I will do some more tests and report back.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
or maybe we do it as you mentioned it here: #552 (comment)
So a workaround would be to store key pair in an option during delete_user action and delete the option during deleted_user.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
or we store the complete delete object in the schedule on the delete?!?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
So a workaround would be to store key pair in an option during delete_user action and delete the option during deleted_user.
The first part is the hack I've implemented, the problem with the second part is that deleted_user
will occur almost immediately, and the Delete activities will fail.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
or we store the complete delete object in the schedule on the delete?!?
Hmm, the scheduler runs before signature generation.
This is tricky! I think the real "delete" from the DB should be easy to handle. But deleting users from the fediverse, but keeping it in WordPress might be hard. With https://swicg.github.io/activitypub-http-signature/#handling-deletes-of-actors we have to either still provide the signature for all users that had the plugin enabled, or return a 410 when requested with |
Any ideas? |
I think we might need both.
|
Adds a Server class for processing server activities, such as Federating a
delete_user
actionFixes #566
https://gdpr.eu/right-to-be-forgotten/
Proposed changes:
delete_user
action to Federate an actor Delete activityTesting instructions: