GoogleAuth

Alapok
A wikiben részletezett többi megoldáshoz képest ez a fejezet kilóg a sorból, hiszen ez a megoldás "a federáción" belül csak egy Identity Providert használ - a google központi kapuját. Ezt bárki használhatja a saját szolgáltatásában (SP) történő felhasználó-hitelesítésére, természetesen annyi megszorítás van, hogy az adott felhasználóknak rendelkezniük kell Google Accounttal (gmail-es e-mail címmel).

A google ekkor 2.0-ás szabványú OpenID protokoll szerint működő OpenID IdP-ként viselkedik, emellett támogatja az OpenID Attribute Exchange 1.0 alapú attribútum kiadást, így ha a felhasználó az autentikáció során hozzájárul a felsorolt adatainak az SP részére történő kiadásához, akkor azt a google ki is adja. (A kiadható attribútumok köre korántsem teljes, lévén jelenleg egyedül az e-mail cím kiadatására van lehetősége az SP-nek)

Beállítás
Az autentikációhoz használt google-végpont a https://www.google.com/accounts/o8/id címen érhető el, a megfelelő paramétereket ide kell átadni.

Minta kérés
Az alábbi kérés igényli az email-cím attribútum kiadását is

https://www.google.com/accounts/o8/ud ?openid.ns=http%3A%2F%2Fspecs.openid.net%2Fauth%2F2.0 &openid.claimed_id=http%3A%2F%2Fspecs.openid.net%2Fauth%2F2.0%2Fidentifier_select &openid.identity=http%3A%2F%2Fspecs.openid.net%2Fauth%2F2.0%2Fidentifier_select &openid.return_to=http%3A%2F%2Fwww.example.com%2Fcheckauth &openid.realm=http%3A%2F%2Fwww.example.com%2F &openid.assoc_handle=ABSmpf6DNMw &openid.mode=checkid_setup &openid.ns.ext1=http%3A%2F%2Fopenid.net%2Fsrv%2Fax%2F1.0 &openid.ext1.mode=fetch_request &openid.ext1.type.email=http%3A%2F%2Faxschema.org%2Fcontact%2Femail &openid.ext1.required=email

Minta válasz sikeres autentikáció esetén
http://www.example.com:8080/checkauth ?openid.ns=http%3A%2F%2Fspecs.openid.net%2Fauth%2F2.0 &openid.mode=id_res&openid.op_endpoint=https%3A%2F%2Fwww.google.com%2Faccounts%2Fo8%2Fud &openid.response_nonce=2008-09-18T04%3A14%3A41Zt6shNlcz-MBdaw &openid.return_to=http%3A%2F%2Fwww.example.com%3A8080%2Fcheckauth &openid.assoc_handle=ABSmpf6DNMw &openid.signed=op_endpoint%2Cclaimed_id%2Cidentity%2Creturn_to%2Cresponse_nonce%2Cassoc_handle%2Cext1.mode%2Cext1.type.email%2Cext1.value.email &openid.sig=s%2FgfiWSVLBQcmkjvsKvbIShczH2NOisjzBLZOsfizkI%3D &openid.identity=https%3A%2F %2Fwww.google.com%2Faccounts%2Fo8%2Fid%3Fid%3DACyQatixLeLODscWvwqsCXWQ2sa3RRaBhaKTkcsvUElI6tNHIQ1_egX_wt1x3fAY983DpW4UQV_U &openid.claimed_id=https%3A%2F%2Fwww.google.com%2Faccounts%2Fo8%2Fid%3Fid%3DACyQatixLeLODscWvwqsCXWQ2sa3RRaBhaKTkcsvUElI6tNHIQ1_egX_wt1x3fAY983DpW4UQV_U &openid.ns.ext1=http%3A%2F%2Fopenid.net%2Fsrv%2Fax%2F1.0 &openid.ext1.mode=fetch_response &openid.ext1.type.email=http%3A%2F%2Faxschema.org%2Fcontact%2Femail &openid.ext1.value.email=fred.example%40gmail.com

Minta választ sikertelen autentikáció esetén
http://www.example.com/checkauth ?openid.mode=cancel &openid.ns=http%3A%2F%2Fspecs.openid.net%2Fauth%2F2.0

Válaszok feldolgozása
A megfelelő kérés elküldése után a rendszer átirányít a google autentikációs oldalára, ahol a felhasználónak meg kell adnia google accounttal kapcsolatos adatait, majd sikeres bejelentkezés után jóvá kell hagynia, hogy a SP részére a google átadja az információt, hogy bejelentkezett ill. az egyéb attribútumokat, melyeket adott esetben az SP igényelt. Pozitív válasz esetén a google beállítva a megfelelő értékeket meghívja a visszatérő oldalt, ahol a megfelelő GET paraméterek feldolgozásával már SP-hatáskörben irányíthatók tovább a felhasználók.

Külső hivatkozások

 * http://code.google.com/intl/hu-HU/apis/accounts/docs/OpenID.html