„GCAuth” változatai közötti eltérés

A Turistautak.hu wikiből
(Megjegyzések)
(Link update.)
 
(egy szerkesztő egy közbeeső változata nincs mutatva)
1. sor: 1. sor:
== Mi a GCAuth? ==
+
Az oldal 2013. november 18-tól a [http://fairy.hu/blog/?page_id=119 GCBLOG]on olvasható.
 
+
Lényegében egy kényelmi szolgáltatás: a geocaching.hu felhasználói külső honlapon is azonosíthatják magukat a nickjükkel - akár két kattintással.
+
 
+
== Kinek szól ez a leírás? ==
+
 
+
A geocaching.hu/turistautak.hu felhasználóinak többlet-szolgáltatást nyújtani szándékozó weblapok programozóinak.
+
 
+
== Kinek ''nem'' szól ez a leírás? ==
+
 
+
Az imént említett szolgáltatásokat igénybe venni kívánó felhasználóknak.
+
 
+
== Miért jó? ==
+
 
+
* Nem kell kiadni a jelszót egy külső lapnak.
+
* Nem kell újra végigcsinálni a regisztrációs procedúrát.
+
* A meglevő (ismert) nicket a gazdája (és csak ő) használhatja - más nem nyúlhatja le azt előle.
+
 
+
== A megvalósítás ==
+
 
+
'''1.''' A külső honlapról a GCAuth oldalra irányítjuk a felhasználót:<br/>
+
''<nowiki>http://geocaching.hu/token.geo?next={url}&scope={secrets}</nowiki>''
+
* next: az url, ahová hitelesítés után visszatér a böngésző;
+
* scope: az adatok, amelyeket a gc szervertől szertnénk megtudni, szóközzel elválasztva (pl. "username")<br/>
+
(Az url és scope paraméterek természetesen urlencoded formában legyenek.)<br/>
+
Pl. http://geocaching.hu/token.geo?next=http%3A%2F%2Forokseg.net%2Falappont%2Findex.php&scope=username
+
<br/><br/>
+
'''2.''' A gc szerver válaszában a megjelölt URL-re irányítja a böngészőt, két új paraméterrel:<br/>
+
''<nowiki>{url}?id={user_id}&token={token}</nowiki>''
+
* id: a geocaching.hu-s numerikus felhasználói azonosító;
+
* token: véletlenszerűen generált karaktersorozat hexadecimális formátumban; <br/>
+
Pl. http://orokseg.net/alappont/index.php?id=17615&token=06aa8ca3b88b8fd00c1be319938275cf
+
<br/><br/>
+
'''3.''' A külső szerver meghívja a gc szervert (pl. PHP-ban file_get_contents() függvénnyel):<br/>
+
''<nowiki>http://geocaching.hu/token.geo?site={host}&action={secrets}&id={user_id}&token={token}</nowiki>''
+
* site: az előző (1.) kérés "next" paraméterének host része;
+
* action: az előző (1.) kérés "scope" paramétere;
+
* id: az előző (2.) válasz "id" paramétere;
+
* token: az előző (2.) válasz "token" paramétere;
+
Pl. http://geocaching.hu/token.geo?site=orokseg.net&action=username&id=17615&token=06aa8ca3b88b8fd00c1be319938275cf
+
<br/><br/>
+
'''4.''' A gc szerver válasza: a kért adat vagy hibaüzenet.<br/>
+
* Siker esetén a kapott válaszból PHP unserialize() függvénnyel egy tömböt kapunk.
+
* Kudarc esetén magyar nyelvű hibaüzenet érkezik.<br/>
+
Karakter kódolás mindkét esetben ISO-8859-2.
+
 
+
== Megjegyzések ==
+
 
+
* Ez a négy lépés csak a legelső használatnál szükséges. Ezután - a token visszavonásáig - elég a 3. és a 4. lépést végrehajtani.
+
* Ha a külső szerveren van lehetőség session kezelésre, cookie-k használatára, akkor elegendő csak egyszer igénybe venni a GCAuth-ot. A 4. lépés sikere esetén küldhetünk egy egyedi cookie-t a böngészőnek, amellyel legközelebb azonosítani tudja magát - így nincs szükség további kérésekre a geocaching.hu felé.
+
 
+
== Hol próbálható ki? ==
+
 
+
A példákban megjelenő [http://orokseg.net/alappont/ orokseg.net] honlapon már 2011. február óta "élesben" működik.
+

A lap jelenlegi, 2015. július 9., 09:03-kori változata

Az oldal 2013. november 18-tól a GCBLOGon olvasható.