2011. augusztus 24., szerda

OpenId és a GAE

Az OpenID egy nyílt, ingyenes internetes szolgáltatás, amely lehetővé teszi, hogy egyetlen digitális azonosítóval lépjünk be több különböző oldalra. Elég egyetlen OpenID szolgáltatónál egyszer regisztrálni, majd ezzel az egy felhasználónévvel azt ezt támogató oldalakon (külön regisztráció nélkül) be tudunk lépni.

Az azonosítás lényege, hogy nem a használt webalkalmazás végzi az azonosítást, így jelszót sem kell másnak megadnunk. Ha belépnénk az adott oldalra, akkor annak login oldala (1.) egy OpenId provider felé (pl: google) továbbítja a felhasználót (6.), aki ott belép (7.), majd az azonosításhoz szükséges adatokat egy cookie-n keresztül tárolja és adja tovább a böngésző a webalkalmazás felé (8.). Ezután a webalkalmazás már azonosítottként kezeli a felhasználót, és saját rendszerében is "belépteti" (9.).

Az OpenId működése a google-nál

Az AppEngine támogatja a felhasználókezelés OpenId-val történő egyszerűsítését (federated login), ehhez az alkalmazás beállításainál ez ki kell választanunk. Az appengine.google.com oldalon az alkalmazás admin felületén választhatjuk ki a felhasználókezelés módját: Administration --> Application Settings --> Authentication Options.


A kiválasztás után létrehozunk egy servletet (LoginRedirectServlet), ami továbbítja a kérést a Google felé és egy jsp lapot (amin kiválasztjuk a providert), majd beállítjuk a web.xml-ben (/_ah/login_required), hogy a védett oldalakat csak az OpenId aznosítás után lehessen megnézni. Erre több példát is találhatunk, íme az egyik legegyszerűbb: http://code.google.com/p/gae-java-openid/

A jelenlegi projektünket átalakítva a szerver indítása után a következő képernyő fogad. Ha a fejlesztői gépen próbálunk belépni, akkor csak egy teszt felhasználós bejelentkezés jön be. Ezzel belépve kipróbálható a funkció, de több felhasználós rendszertesztet csak élesben tudunk végezni.

login.jsp lap a választáshoz

A fejlesztői OpenId szimulációs felület

Ezzel megvan az OpenId-s belépés lehetősége. A felületet igényeink szerint alakíthatjuk, például a www.valoskilometer.hu/login oldalon a következő felületen léphetünk be:

www.valoskilometer.hu/login

Az alkalmazás deploy-olása után a http://valoskmdev.appspot.com/ oldalon látható a végeredmény.

Nincsenek megjegyzések:

Megjegyzés küldése