-
Notifications
You must be signed in to change notification settings - Fork 11
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Browse files
Browse the repository at this point in the history
- Loading branch information
Lukas Bestle
committed
Oct 30, 2013
1 parent
8da460c
commit 172d5fd
Showing
4 changed files
with
51 additions
and
8 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -5,11 +5,36 @@ | |
Connect different GDS instances, e.g. for creating a decentralized social network or offer services to the community (e.g. "Hi, I'm server xyz and I offer these services …") It still needs to be solved, how the data for single users are handled in shared environments. | ||
|
||
## Connecting instances | ||
(just an idea) | ||
Let's assume Joe wants to connect his GDS instance with the one of Rick to gain access to Rick's files. | ||
An authentication process using a secret key could look like this: | ||
Joe puts the URL of Rick's GDS instace in a "Connect with an instance" dialog. Joe's GDS sents some kind of ping to Rick's GDS where a popup with a scerect connect-key shows up. Rick sends this connect-key to Joe e.g. via an ecrypted email. Joe now copies the connect-key into a dialog of his GDS instance. | ||
Now Joe's GDS instance hashes the connect-key and asks Rick's GDS instance if that hash equals the hash of the connect-key Rick's GDS just genrated for Joe's GDS instance. | ||
|
||
There are multiple ways described in [Issue #20](https://github.com/grand-decentral-station/concept/issues/20): | ||
|
||
- Using secret keys | ||
|
||
1. Joe wants to connect his GDS instance with the one of Rick to gain access to Rick's files. | ||
2. Joe puts the URL of Rick's GDS instance in a "Connect with an instance" dialog. | ||
3. Joe's GDS sends some kind of ping to Rick's GDS where a popup with a secret connect-key shows up. | ||
4. Rick sends this connect-key to Joe e.g. via an encrypted email. | ||
5. Joe now copies the connect-key into a dialog of his GDS instance. | ||
6. Joe's GDS instance hashes the connect-key and asks Rick's GDS instance if that hash equals the hash of the connect-key Rick's GDS just generated for Joe's GDS instance. | ||
|
||
- Using invitation | ||
|
||
1. Rick wants to share some of his photos with Joe | ||
2. Rick adds the user id of Joe (`[email protected]`) to the list of people with access and can give him write or only read privileges. | ||
3. Rick's GDS pings the GDS of Joe at the domain domainofhisgds.tld | ||
- If there is a GDS living under the domain domainofhisgds.tld, Joe gets a message telling him he has access and can then see the content from Rick's GDS just like it would be stored on his own one | ||
- If there is **no** GDS living there (= normal email address), Joe gets an email telling him that he can now interact with Rick's data using a secret (and long) share URL pointing right to Rick's GDS | ||
4. Done | ||
|
||
- Using connection requests | ||
|
||
1. Joe arrives at Rick's social profile / website / service and wishes to connect | ||
2. Joe pushes the 'connect' button. As a pre-authenticated GDS user ([email protected]), a connect request is sent automatically to Rick. | ||
3. Via email or web interface, Rick can accept or deny Joe's request. | ||
4. Done | ||
|
||
To avoid spam, GDS could limit people able to request access to "friends of friends" like in the Facebook "discoverability" options. Alternatively, it could be switched to "invite only". | ||
|
||
|
||
## Administration API | ||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters