Prijava bez pristupa objavljivanju
Nekim aplikacijama treba samo da znaju ko je osoba na Hive-u. One nikada ne objavljuju, ne glasaju i ništa ne emituju u njeno ime. Hivesigner može da prijavi ljude u takvu aplikaciju bez ikakvog ovlašćenja za objavljivanje. Osoba dokazuje da upravlja Hive nalogom. Vaša aplikacija saznaje njegovo ime. Ova stranica pokazuje dva načina i kako bezbedno proveriti rezultat.
Dva načina
- Sa nalogom aplikacije: vaša aplikacija ima sopstveni Hive nalog i traži
scope=login. Token navodi vašu aplikaciju. - Bez naloga aplikacije: sajt bez sopstvenog Hive naloga šalje samo
redirect_uri. Token ne navodi nijednu aplikaciju. Vaš sajt ga proverava sam.
Nijedan način ne traži odobrenje od osobe ni od naloga vaše aplikacije, pa se na nalogu osobe ništa ne menja. Hivesigner potpisuje prijavu ključem za objavljivanje, ili aktivnim ključem kada uređaj nema ključ za objavljivanje za taj nalog.
Sa nalogom aplikacije
-
Registrujte aplikaciju: napravite njen Hive nalog i navedite svoje povratne adrese. Ne trebaju vam tajna klijenta ni odobrenje za @hivesigner.
-
Pošaljite osobu na:
https://hivesigner.com/oauth2/authorize?client_id=CLIENT_ID&redirect_uri=REDIRECT_URI&scope=login&state=STATE -
Osoba vidi «Prijava na APP» uz Opseg pristupa «Pregled korisničkog imena vašeg naloga». Bira Prijavi se.
-
Hivesigner preusmerava na vašu povratnu adresu:
REDIRECT_URI?state=STATE&access_token=TOKEN&expires_in=604800&username=USERNAME -
Uporedite
state, pa proverite token. To jelogintoken koji navodi vašu aplikaciju, pa radi bilo koji od ova dva puta:- pozovite njime
GET /api/me, koji odgovara nalogom uuseriscopevrednošću["login"], pa dekodirajte token i proveritetypeiapp(Pitajte API); - ili ga proverite sami sa
type: 'login'i imenom vaše aplikacije.
- pozovite njime
Token login ne može ništa da emituje: /api/broadcast odbija svaku operaciju poslatu njime.
Bez naloga aplikacije
-
Pošaljite osobu na adresu za ovlašćenje sa
redirect_urii bezclient_id:https://hivesigner.com/oauth2/authorize?redirect_uri=REDIRECT_URI&state=STATEPovratna adresa mora da bude
https://ilihttp://na povratnoj petlji (localhost,127.0.0.1,[::1]). Ne postoji spisak u koji se registruje. Hivesigner ovde zanemarujescopeiresponse_type: odgovor je uvek token za prijavu. -
Osoba vidi «HOST želi da potvrdi vaše Hive korisničko ime.», gde je HOST domaćin vaše povratne adrese. Bira Prijavi se.
-
Hivesigner preusmerava na vašu povratnu adresu:
REDIRECT_URI?state=STATE&access_token=TOKEN&expires_in=604800&username=USERNAME -
Uporedite
state, pa sami proverite token. API ne prihvata token koji ne navodi aplikaciju, pa vaš server proverava potpis prema ključevima naloga. Pogledajte Proverite sami, satype: 'login'i bezapp.
Kada povratna adresa nije veb adresa ili je običan http:// van povratne petlje, Hivesigner odbija zahtev i objašnjava osobi zašto.
Šta koristiti
| Sa nalogom aplikacije | Bez naloga aplikacije | |
|---|---|---|
| Šta osoba vidi | Ime, sliku i Hive nalog vaše aplikacije | Samo domaćina vašeg sajta |
| Priprema | Hive nalog sa navedenim povratnim adresama | Nikakva |
| Token navodi | Vašu aplikaciju | Nijednu aplikaciju |
| Token proverite preko | /api/me ili sopstvenog koda |
Sopstvenog koda |
| Pristup objavljivanju kasnije | Istim nalogom: tražite posting i dajte odobrenje nalogu @hivesigner |
Prvo je potreban nalog aplikacije |
Koristite nalog aplikacije kad god možete. Ljudi vide ime i sliku vaše aplikacije. Vaš server može da odbije tokene napravljene za drugu aplikaciju. Kasnije možete istim nalogom preći na pristup objavljivanju.
Drugi put koristite kada vaš sajt nema Hive nalog i ne želi ga.
Bezbedno proverite prijavu
- Povežite zahtev preko
state. Napravite nasumičnu vrednost za svaku prijavu, čuvajte je u sesiji osobe, uporedite je na svojoj povratnoj adresi i upotrebite je jednom. Pogledajte Zaštitite zahtev preko state. - Proverite vrstu. Prihvatajte samo
signed_message.typesa vrednošćulogin. Kod ili token za osvežavanje nije prijava. - Proverite aplikaciju. Sa nalogom aplikacije
signed_message.appmora da bude vaša aplikacija. Bez njega ne sme da postoji nikakavapp. - Proverite starost. Token proveravate odmah posle preusmeravanja, pa ga prihvatajte samo u roku od nekoliko minuta od njegovog
timestamp(na primer 5 minuta, uz minut razlike u časovniku). - Svaki token upotrebite jednom. Posle uspešne provere pokrenite sopstvenu sesiju (na primer httpOnly kolačić) i odbacite Hivesigner token. Vodite evidenciju prihvaćenih tokena dok ne postanu prestari da prođu proveru starosti. Odbijte svaki koji ponovo vidite.
- Držite token van dnevnika. Stiže u upitnom delu vaše povratne adrese. Pogledajte Čuvajte tokene bezbedno.
Primeri
Sajtovi kao što su https://hivesearcher.com i https://openhive.chat dozvoljavaju ljudima da se prijave svojim Hive nalogom za mogućnosti koje ostaju van blokčejna, poput pretrage i ćaskanja. Njima treba samo da znaju ko je osoba i ništa više.