Authentifizierung mit AuthSubDer AuthSub Mechanismum erlaubt es Webanwendungen zu schreiben, die einen authentifizierten Zugang zu Google Data Services benötigen, ohne dass Code geschrieben werden muß, der Benutzerzugangsdaten behandelt. Siehe » http://code.google.com/apis/accounts/AuthForWebApps.html für weitere Informationen über Google Data AuthSub Authentifizierung. Die Google Dokumentation sagt, dass der ClientLogin Mechanismum ausreichend für "installierte Anwendungen" ist, und der AuthSub Mechanismum für "Webanwendungen". Der Unterschied ist das AuthSub Interaktion vom Benutzer benötigt, und ein Browser Interface, das auf Umleitungsanfragen reagieren kann. Die ClientLogin Lösung verwendet PHP Code um die Benutzerzugangsdaten anzubieten; der Benutzer wird nicht benötigt, um seine Zugangsdaten einzugeben. Die Zugangsdaten, die über den AuthSub Mechanismum bereitgestellt werden, werden vom Benutzer über die Webanwendung eingegeben. Deswegen müssen es Zugangsdaten sein, die dem Benutzer bekannt sind.
Einen AuthSub authentifizierten Http Clienten erstellenDie PHP-Anwendung sollte einen Hyperlink zur Google URL bieten, welche die Authentifizierung durchführt. Die statische Funktion Zend_Gdata_AuthSub::getAuthSubTokenUri() liefert die richtige URL. Die Argumente dieser Funktion inkludieren die URL zur eigenen PHP-Anwendung, so dass Google den Browser des Benutzers zur eigenen Anwendung zurückleiten kann, nachdem die Benutzerdaten verifiziert wurden. Nachdem Googles Authentifizierungsserver den Browser des Benutzers zur aktuellen Anwendung umgeleitet haben, wird ein GET Anfrageparameter gesetzt, der token heißt. Der Wert dieses Parameters ist ein einmal verwendbarer Token, der für authentifizierten Zugriff verwendet werden kann. Dieser Token kann in einen mehrfach verwendbaren Token konvertiert und in der eigenen Session gespeichert werden. Um den Token dann zu verwenden, muß Zend_Gdata_AuthSub::getHttpClient() aufgerufen werden. Diese Funktion gibt eine Instanz von Zend_Http_Client zurück mit gültigen Headern gesetzt, so dass eine nachfolgende Anfrage der Anwendung, die diesen HTTP Clienten verwenden, auch authentifiziert sind. Nachfolgend ist ein Beispiel von PHP Code für eine Webanwendung um eine Authentifizierung zu erlangen, damit der Google Calender Service verwendet werden kann, und der ein Zend_Gdata Client Objekt erstellt, das diesen authentifizierten HTTP Client verwendet.
Beenden der AuthSub AuthentifizierungUm den authentifizierten Status eines gegebenen Status zu beenden, kann die statische Funktion Zend_Gdata_AuthSub::AuthSubRevokeToken() verwendet werden. Andernfalls bleibt der Token noch für einige Zeit gültig.
|
|