parseExtensionArgs() public method

Given attribute exchange arguments, populate this FetchRequest.
public parseExtensionArgs ( $ax_args )
コード例 #1
0
ファイル: AX.php プロジェクト: Stony-Brook-University/doitsbu
 function test_requestUnlimitedValues()
 {
     $msg = new Auth_OpenID_AX_FetchRequest();
     $result = $msg->parseExtensionArgs(array('mode' => 'fetch_request', 'required' => 'foo', 'type.foo' => 'urn:foo', 'count.foo' => Auth_OpenID_AX_UNLIMITED_VALUES));
     $attrs = $msg->iterAttrs();
     $foo = $attrs[0];
     $this->assertTrue($foo->count == Auth_OpenID_AX_UNLIMITED_VALUES);
     $this->assertTrue($foo->wantsUnlimitedValues());
 }
コード例 #2
0
ファイル: AX.php プロジェクト: kaantunc/MYK-BOR
 /**
  * Extract a FetchRequest from an OpenID message
  *
  * @param request: The OpenID request containing the attribute
  * fetch request
  *
  * @returns mixed An Auth_OpenID_AX_Error or the
  * Auth_OpenID_AX_FetchRequest extracted from the request message if
  * successful
  */
 function &fromOpenIDRequest($request)
 {
     $m = $request->message;
     $obj = new Auth_OpenID_AX_FetchRequest();
     $ax_args = $m->getArgs($obj->ns_uri);
     $result = $obj->parseExtensionArgs($ax_args);
     if (Auth_OpenID_AX::isError($result)) {
         return $result;
     }
     if ($obj->update_url) {
         // Update URL must match the openid.realm of the
         // underlying OpenID 2 message.
         $realm = $m->getArg(Auth_OpenID_OPENID_NS, 'realm', $m->getArg(Auth_OpenID_OPENID_NS, 'return_to'));
         if (!$realm) {
             $obj = new Auth_OpenID_AX_Error(sprintf("Cannot validate update_url %s " . "against absent realm", $obj->update_url));
         } else {
             if (!Auth_OpenID_TrustRoot::match($realm, $obj->update_url)) {
                 $obj = new Auth_OpenID_AX_Error(sprintf("Update URL %s failed validation against realm %s", $obj->update_url, $realm));
             }
         }
     }
     return $obj;
 }