Auth_OpenID_Decoder Klassenreferenz


Öffentliche Methoden

 Auth_OpenID_Decoder (&$server)
 decode ($query)
 defaultDecoder ($message)

Ausführliche Beschreibung

Definiert in Zeile 1517 der Datei Server.php.


Dokumentation der Elementfunktionen

Auth_OpenID_Decoder ( &$  server  ) 

Definiert in Zeile 1519 der Datei Server.php.

01520     {
01521         $this->server =& $server;
01522 
01523         $this->handlers = array(
01524             'checkid_setup' => 'Auth_OpenID_CheckIDRequest',
01525             'checkid_immediate' => 'Auth_OpenID_CheckIDRequest',
01526             'check_authentication' => 'Auth_OpenID_CheckAuthRequest',
01527             'associate' => 'Auth_OpenID_AssociateRequest'
01528             );
01529     }

decode ( query  ) 

Given an HTTP query in an array (key-value pairs), decode it into an Auth_OpenID_Request object.

Definiert in Zeile 1535 der Datei Server.php.

01536     {
01537         if (!$query) {
01538             return null;
01539         }
01540 
01541         $message = Auth_OpenID_Message::fromPostArgs($query);
01542 
01543         if ($message === null) {
01544             /*
01545              * It's useful to have a Message attached to a
01546              * ProtocolError, so we override the bad ns value to build
01547              * a Message out of it.  Kinda kludgy, since it's made of
01548              * lies, but the parts that aren't lies are more useful
01549              * than a 'None'.
01550              */
01551             $old_ns = $query['openid.ns'];
01552 
01553             $query['openid.ns'] = Auth_OpenID_OPENID2_NS;
01554             $message = Auth_OpenID_Message::fromPostArgs($query);
01555             return new Auth_OpenID_ServerError(
01556                   $message,
01557                   sprintf("Invalid OpenID namespace URI: %s", $old_ns));
01558         }
01559 
01560         $mode = $message->getArg(Auth_OpenID_OPENID_NS, 'mode');
01561         if (!$mode) {
01562             return new Auth_OpenID_ServerError($message,
01563                                                "No mode value in message");
01564         }
01565 
01566         if (Auth_OpenID::isFailure($mode)) {
01567             return new Auth_OpenID_ServerError($message,
01568                                                $mode->message);
01569         }
01570 
01571         $handlerCls = Auth_OpenID::arrayGet($this->handlers, $mode,
01572                                             $this->defaultDecoder($message));
01573 
01574         if (!is_a($handlerCls, 'Auth_OpenID_ServerError')) {
01575             return call_user_func_array(array($handlerCls, 'fromMessage'),
01576                                         array($message, $this->server));
01577         } else {
01578             return $handlerCls;
01579         }
01580     }

defaultDecoder ( message  ) 

Definiert in Zeile 1582 der Datei Server.php.

01583     {
01584         $mode = $message->getArg(Auth_OpenID_OPENID_NS, 'mode');
01585 
01586         if (Auth_OpenID::isFailure($mode)) {
01587             return new Auth_OpenID_ServerError($message,
01588                                                $mode->message);
01589         }
01590 
01591         return new Auth_OpenID_ServerError($message,
01592                        sprintf("Unrecognized OpenID mode %s", $mode));
01593     }


Die Dokumentation für diese Klasse wurde erzeugt aufgrund der Datei:
Copyright © 2003 - 2009 MyOOS [Shopsystem]. All rights reserved.
MyOOS [Shopsystem] is Free Software released under the GNU/GPL License.

Webmaster: info@r23.de (Impressum)
doxygen