ILIAS  release_5-1 Revision 5.0.0-5477-g43f3e3fab5f
Auth_OpenID_Decoder Class Reference
+ Collaboration diagram for Auth_OpenID_Decoder:

Public Member Functions

 Auth_OpenID_Decoder ($server)
 
 decode ($query)
 Given an HTTP query in an array (key-value pairs), decode it into an Auth_OpenID_Request object. More...
 
 defaultDecoder ($message)
 

Detailed Description

Definition at line 1522 of file Server.php.

Member Function Documentation

◆ Auth_OpenID_Decoder()

Auth_OpenID_Decoder::Auth_OpenID_Decoder (   $server)

Definition at line 1524 of file Server.php.

1525 {
1526 $this->server = $server;
1527
1528 $this->handlers = array(
1529 'checkid_setup' => 'Auth_OpenID_CheckIDRequest',
1530 'checkid_immediate' => 'Auth_OpenID_CheckIDRequest',
1531 'check_authentication' => 'Auth_OpenID_CheckAuthRequest',
1532 'associate' => 'Auth_OpenID_AssociateRequest'
1533 );
1534 }
$server

References $server.

◆ decode()

Auth_OpenID_Decoder::decode (   $query)

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

Definition at line 1540 of file Server.php.

1541 {
1542 if (!$query) {
1543 return null;
1544 }
1545
1547
1548 if ($message === null) {
1549 /*
1550 * It's useful to have a Message attached to a
1551 * ProtocolError, so we override the bad ns value to build
1552 * a Message out of it. Kinda kludgy, since it's made of
1553 * lies, but the parts that aren't lies are more useful
1554 * than a 'None'.
1555 */
1556 $old_ns = $query['openid.ns'];
1557
1558 $query['openid.ns'] = Auth_OpenID_OPENID2_NS;
1560 return new Auth_OpenID_ServerError(
1561 $message,
1562 sprintf("Invalid OpenID namespace URI: %s", $old_ns));
1563 }
1564
1565 $mode = $message->getArg(Auth_OpenID_OPENID_NS, 'mode');
1566 if (!$mode) {
1567 return new Auth_OpenID_ServerError($message,
1568 "No mode value in message");
1569 }
1570
1571 if (Auth_OpenID::isFailure($mode)) {
1572 return new Auth_OpenID_ServerError($message,
1573 $mode->message);
1574 }
1575
1576 $handlerCls = Auth_OpenID::arrayGet($this->handlers, $mode,
1577 $this->defaultDecoder($message));
1578
1579 if (!is_a($handlerCls, 'Auth_OpenID_ServerError')) {
1580 return call_user_func_array(array($handlerCls, 'fromMessage'),
1581 array($message, $this->server));
1582 } else {
1583 return $handlerCls;
1584 }
1585 }
const Auth_OpenID_OPENID_NS
Definition: Message.php:42
const Auth_OpenID_OPENID2_NS
Definition: Message.php:35
defaultDecoder($message)
Definition: Server.php:1587
static fromPostArgs($args)
Definition: Message.php:444
static arrayGet($arr, $key, $fallback=null)
Convenience function for getting array values.
Definition: OpenID.php:242
static isFailure($thing)
Return true if $thing is an Auth_OpenID_FailureResponse object; false if not.
Definition: OpenID.php:118

References $query, Auth_OpenID\arrayGet(), Auth_OpenID_OPENID2_NS, Auth_OpenID_OPENID_NS, defaultDecoder(), Auth_OpenID_Message\fromPostArgs(), and Auth_OpenID\isFailure().

+ Here is the call graph for this function:

◆ defaultDecoder()

Auth_OpenID_Decoder::defaultDecoder (   $message)

Definition at line 1587 of file Server.php.

1588 {
1589 $mode = $message->getArg(Auth_OpenID_OPENID_NS, 'mode');
1590
1591 if (Auth_OpenID::isFailure($mode)) {
1592 return new Auth_OpenID_ServerError($message,
1593 $mode->message);
1594 }
1595
1596 return new Auth_OpenID_ServerError($message,
1597 sprintf("Unrecognized OpenID mode %s", $mode));
1598 }

References Auth_OpenID_OPENID_NS, and Auth_OpenID\isFailure().

Referenced by decode().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

The documentation for this class was generated from the following file: