pondersource / sciencemesh-php

Connect your Nextcloud server to Sciencemesh
MIT License
0 stars 1 forks source link

Keep track of incoming invites you accepted/rejected? #129

Open michielbdejong opened 1 year ago

michielbdejong commented 1 year ago

Although cs3apis offers a 'GenerateInvite' method, there is currently nothing in cs3apis that tracks sent or received invites.

Reva does track sent invites and in #128 we are exploring how we can add a "backdoor" so the user can also view the generated invites

But neither cs3apis nor Reva offer anything for tracking incoming invites. We could track incoming invites at the efss app level though.

mirekys commented 1 year ago

I think it is impossible to track invites that are incoming. The reason is that the user receives the invitation link either via e-mail, chat or printed out and sent using pidgeon service :), and we have no knowledge as to where it is incoming, its completely up to him, on which system does he choose to accept the invite, and once done, it is an invite no more. It pops up in accepted users, for which there is an API call FindAcceptedUsers (but this will probably happen on the invitation sender's side only?).

michielbdejong commented 1 year ago

When Einstein generates an invite and shares it to Marie, it contains Einstein's providerDomain, which is probably equal to Einstein's IDP, but it doesn't contain Einstein's opaqueId. Marie puts it into her EFSS GUI; From there it goes to her Reva with her opaqueID and IDP added, then to Einstein's Reva.

So Einstein's EFSS/Reva knows Marie's opaqueID and IDP, and Marie's EFSS/Reva knows Einstein's providerDomain, and a unique identifier for the invite (the token).

Marie's EFSS/Reva could keep track of the invites that passed through it.

It pops up in accepted users, for which there is an API call FindAcceptedUsers (but this will probably happen on the invitation sender's side only?).

Correct, Marie becomes an accepted user ("ScienceMesh Contact") of Einstein, but Einstein becomes nothing of Marie. See #130 about that too.