Tanulmány - dev, blog archívum, openid

OpenID. Ahogy én hajtották végre az OpenID támogatást. krónika

Számos alkalommal én személyesen át regisztráció, megerősítést igényel e-mailben lehet számítani az ujjai egy kézzel: Nem bánom, süt a doboz „levélszemét” - csak lustaság.

Hol kap OpenID-szolgáltató?

Azt is, hogy mutassa meg, hogyan kell telepíteni a OpenID-szolgáltató a saját tárhely.

Tanulmány - dev, blog archívum, openid

A kapott fájlt

Én hozzá a vonal, amely összeköti a include_path változó (hol keressük könyvtárak kért kapcsolat) útvonal a root telepítés openid (relatív elérési út használatával). Majd mentse el a config.php fájl a könyvtárban együtt server.php.

Ezután nyissa meg a http. //center:89/openid/examples/server/server.php és csodálja még egy frissen telepített és működő OpenID-szerver (legalábbis amikor rákattintottam a „login” gombot, a felhasználó név kitalált, semmi „lerobbant” és az oldal tetején megjeleníti, mint például: „Welcome, John”).

Tanulmány - dev, blog archívum, openid

Kinyitottam a forrás megtekintését html kódot a személyes oldalak. Ahogy az várható volt talált direktiriva:

Aztán úgy döntött, hogy hogyan néz ki az adatbázist, amely úgy tűnt, hogy a megjelölések és hol tárolják. Kiderült, hogy az adatbázis nem létezik. Ie megadott érték a konfigurációs nem használják. Szükséges volt, hogy hozzon létre egy alapot a kéz (és egy kis gond, ami szükséges a kódoló ezt a csodát?).

A kiszolgáló újraindítása vezetett létrehozását két táblázat nevét és oid_associations oid_nonces. Ez a kód:

Azt is lett érdekelt, ahol beállíthatja a nevüket (például megváltoztathatja a név előtag a táblázatban). A keresés erre a helyre, Kinyitottam a fájlt „OpenID \ Auth \ OpenID \ MySQLStore.php”, és látta, hogy egy egyszerű DDL kódot két tábla (ők öröklik a kódolás az adatbázis titkosítás, és nem lehet kapcsolat kódok válassza ki a kódot nem találtam). Kíváncsi vagyok, mi fog történni, amikor a utf8 alap, és az alapértelmezett kódolása kapcsán cp1251 (mint én hosting).

OpenID # 038; Mediawiki

Ez egy teljes példa OpenID-szerver (amely integrálva van a „natív” MediaWiki-nyilvántartási rendszer), így most egy személyes felhasználói oldal kerül ugyanaz a HTML-kód OpenID-szolgáltatót.

Azzal kezdtem, hogy ő tette egy új táblát (helyett $ wgDBprefix rendre használják mediawiki előtag) az adatbázisban (adatbázis mediawiki, a régi adatbázis szerver egy példa szerény elfelejti)

Majd másolja a mappát kiterjesztések könyvtárat elosztókódot, és rámutatott, hogy a fájl elérési útját a fájl LocalSettings.php OpenID.php

Ahhoz, hogy helyesen működjön, szüksége bővítése A könyvtár openid (ő nem fog ellátni magát a bővítés). Szerencsére, ezek a könyvtárak használták az előző példa, hogy nekem csak csatlakoztatni őket a include_path. Így a LocalSettings.php fájlt, mielőtt a vonal, amely betölti a kiterjesztés „extensions / OpenID / OpenID.php” sor került, annak megjelölésével, hogy hol találja a fájlokat OpenID könyvtár:

Most nyissa ki az elülső lapja mediawiki és látni a változásokat. A tetején volt egy „Belép OpenID” gombra, és a lista a speciális lapok hozzáadott egy új oldalt, amely egyfajta hitelesítési OpenIDval (Special: OpenIDLogin). Menjen a személyes oldal html kódot, lásd a linkre OpenID-szolgáltató szolgáltatásokat.

Tanulmány - dev, blog archívum, openid

Próbáljuk lép mediawik-OpenID használatával neve. I nyomja meg a „Login with OpenID”, akkor megy a következő formában:

Tanulmány - dev, blog archívum, openid

Tanulmány - dev, blog archívum, openid

Nos, ha azt kell tesztvezetésre ablakok, akkor meg kell kijavítani a változó értékét, hogy egy üres fájlt. Fájl megnyitása Auth / OpenID / CryptUtil.php, keresse meg a következő fragmentum ott, és állítsa be a változó egyenlő Auth_OpenID_RAND_SOURCE null.

Re próbál átadni a hitelesítési eljárás kijavítása után a hibákat, és kap:

Tanulmány - dev, blog archívum, openid

Minden úgy van, ahogy lennie kell. Forma hitelesítés elismervényt és kérik, hogy ha azt akarom, hogy bízz a helyszínen, a szolgáltatás kérés OpenID-hitelesítést. Azonban a hangulat rontotta meg tisztázatlan, ahol a gyökér könyvtárban (ahol a webes könyvtár) tmp mappát. Belül, ami kiderült, hogy egy csomó létrehozott fájlok openid kiterjesztés mediawiki. Lesz még egyszer átmenni felállítását és bővítése openid pont erre (persze, a munkához való jog) fájlokat egy másik helyre.

Mint korábban írtam, a kiterjesztés dolgozni openid két célja van: mehetsz mediawiki helyszínen OpenIDval-hitelesítő adatok néhány openid-szolgáltató; vagy a személyes oldalt a wiki fogják használni, hogy jelentkezzen be a más szerverek. Egyszerűen fogalmazva, ez a bővülés szerepet játszik, és az ügyfél és a kiszolgáló OpenID OpenID. A működése mindegyikük van szüksége, hogy hozzanak létre egy helyet, ahol majd fel: „Mi a legfontosabb adatokat.” Kezdjük a kliens oldalon. Alapvetően csak két lehetőség van: vagy a fájlrendszer, vagy memcached-szerver. A cél hosting Internet memcached-edik sem szaga - kell kezelni fájlok tárolására. Megjegyzés magamnak: miért a hitelesítési folyamat, így gátolja (apache evett a teljes CPU, és nem egy másodpercig).

Adjuk hozzá a következő változókat LocalSettings.php file:

Aztán kapott egy hibaüzenet jelenik meg:

Miután egy rövid meditáció kiderült, hogy tettem egy plusz helyet a könyvtár nevét. Tehát, kijavítása után OpenID-hitelesítést a munka, és az extra mappa a gyökérkönyvtárban nem jön létre. Tanulság: adja meg a fájl elérési útját adattár helyesen. Ők nem jönnek létre automatikusan (legalábbis, ha ez szükséges).

Keress, hogy szerzett csak pozitív válasz „Bízom az oldalt?”, Megint volt egy üzenet oshibke.I ezúttal sokkal érdekesebb:

Tanulmány - dev, blog archívum, openid

Azt találtuk, hogy a válasz az OpenID-szolgáltató nem egyezik várható fogyasztói oldalon mediawiki. A szórakozás, hoztam a képernyőre, hogy ott volt vissza a szerver.

Tanulmány - dev, blog archívum, openid

Igen, ez egy tömböt ad vissza, sok információ, és az ügyfél azt akarja, hogy csak egy vonal (de mi?). Azt is meg kellett küzdenie a dokumentáció olvasása, és ahol, és megtalálta a végzetes mondat:

Legközelebb azt fogja mondani, hogyan lehet létrehozni egy ügyfél (Consumer) openid-azonosítást. Elvégre azt kell integrálni a bejelentkezési űrlap a flash kliens gépekkel felszerelve. Majd írok, amint kezelni ezt a folyamatot.

Kapcsolódó cikkek