Öffentliche Methoden | |
getSessionClasses () | |
Auth_OpenID_AssociateRequest (&$session, $assoc_type) | |
fromMessage ($message, $server=null) | |
answer ($assoc) | |
answerUnsupported ($text_message, $preferred_association_type=null, $preferred_session_type=null) | |
Datenfelder | |
$mode = "associate" |
Definiert in Zeile 582 der Datei Server.php.
answer | ( | $ | assoc | ) |
Definiert in Zeile 652 der Datei Server.php.
00653 { 00654 $response = new Auth_OpenID_ServerResponse($this); 00655 $response->fields->updateArgs(Auth_OpenID_OPENID_NS, 00656 array( 00657 'expires_in' => sprintf('%d', $assoc->getExpiresIn()), 00658 'assoc_type' => $this->assoc_type, 00659 'assoc_handle' => $assoc->handle)); 00660 00661 $response->fields->updateArgs(Auth_OpenID_OPENID_NS, 00662 $this->session->answer($assoc->secret)); 00663 00664 if (! ($this->session->session_type == 'no-encryption' 00665 && $this->message->isOpenID1())) { 00666 $response->fields->setArg(Auth_OpenID_OPENID_NS, 00667 'session_type', 00668 $this->session->session_type); 00669 } 00670 00671 return $response; 00672 }
answerUnsupported | ( | $ | text_message, | |
$ | preferred_association_type = null , |
|||
$ | preferred_session_type = null | |||
) |
Definiert in Zeile 674 der Datei Server.php.
00677 { 00678 if ($this->message->isOpenID1()) { 00679 return new Auth_OpenID_ServerError($this->message); 00680 } 00681 00682 $response = new Auth_OpenID_ServerResponse($this); 00683 $response->fields->setArg(Auth_OpenID_OPENID_NS, 00684 'error_code', 'unsupported-type'); 00685 $response->fields->setArg(Auth_OpenID_OPENID_NS, 00686 'error', $text_message); 00687 00688 if ($preferred_association_type) { 00689 $response->fields->setArg(Auth_OpenID_OPENID_NS, 00690 'assoc_type', 00691 $preferred_association_type); 00692 } 00693 00694 if ($preferred_session_type) { 00695 $response->fields->setArg(Auth_OpenID_OPENID_NS, 00696 'session_type', 00697 $preferred_session_type); 00698 } 00699 00700 return $response; 00701 }
Auth_OpenID_AssociateRequest | ( | &$ | session, | |
$ | assoc_type | |||
) |
Definiert in Zeile 593 der Datei Server.php.
00594 { 00595 $this->session =& $session; 00596 $this->namespace = Auth_OpenID_OPENID2_NS; 00597 $this->assoc_type = $assoc_type; 00598 }
fromMessage | ( | $ | message, | |
$ | server = null | |||
) |
Definiert in Zeile 600 der Datei Server.php.
00601 { 00602 if ($message->isOpenID1()) { 00603 $session_type = $message->getArg(Auth_OpenID_OPENID_NS, 00604 'session_type'); 00605 00606 if ($session_type == 'no-encryption') { 00607 // oidutil.log('Received OpenID 1 request with a no-encryption ' 00608 // 'assocaition session type. Continuing anyway.') 00609 } else if (!$session_type) { 00610 $session_type = 'no-encryption'; 00611 } 00612 } else { 00613 $session_type = $message->getArg(Auth_OpenID_OPENID_NS, 00614 'session_type'); 00615 if ($session_type === null) { 00616 return new Auth_OpenID_ServerError($message, 00617 "session_type missing from request"); 00618 } 00619 } 00620 00621 $session_class = Auth_OpenID::arrayGet( 00622 Auth_OpenID_AssociateRequest::getSessionClasses(), 00623 $session_type); 00624 00625 if ($session_class === null) { 00626 return new Auth_OpenID_ServerError($message, 00627 "Unknown session type " . 00628 $session_type); 00629 } 00630 00631 $session = call_user_func(array($session_class, 'fromMessage'), 00632 $message); 00633 if (is_a($session, 'Auth_OpenID_ServerError')) { 00634 return $session; 00635 } 00636 00637 $assoc_type = $message->getArg(Auth_OpenID_OPENID_NS, 00638 'assoc_type', 'HMAC-SHA1'); 00639 00640 if (!in_array($assoc_type, $session->allowed_assoc_types)) { 00641 $fmt = "Session type %s does not support association type %s"; 00642 return new Auth_OpenID_ServerError($message, 00643 sprintf($fmt, $session_type, $assoc_type)); 00644 } 00645 00646 $obj = new Auth_OpenID_AssociateRequest($session, $assoc_type); 00647 $obj->message = $message; 00648 $obj->namespace = $message->getOpenIDNamespace(); 00649 return $obj; 00650 }
getSessionClasses | ( | ) |
Definiert in Zeile 585 der Datei Server.php.
00586 { 00587 return array( 00588 'no-encryption' => 'Auth_OpenID_PlainTextServerSession', 00589 'DH-SHA1' => 'Auth_OpenID_DiffieHellmanSHA1ServerSession', 00590 'DH-SHA256' => 'Auth_OpenID_DiffieHellmanSHA256ServerSession'); 00591 }
$mode = "associate" |
Copyright © 2003 - 2009 MyOOS [Shopsystem]. All rights reserved. MyOOS [Shopsystem] is Free Software released under the GNU/GPL License. Webmaster: info@r23.de (Impressum) |
|