我目前正在使用Zend Framework在PHP中使用REST客户端,并遇到问题。基本访问身份验证标头
我目前有两个虚拟服务,我正在测试;一个是'noauth',它不需要认证,只是返回一些JSON,另一个是'auth',它需要认证并返回更具体的JSON。包括直接从网络访问就没有这个问题,例如导航到“https://example.org/example/dummy/noauth”显示JSON上的网页和“https://example.org/example/dummy/auth”显示一个对话框,要求用户登录。
我的目标是能够从我的主Web应用程序访问这些不同的服务。首先需要用户登录到此Web应用程序。然后他们将能够从该Web应用程序调用不同的服务。我能得到NOAUTH很容易的工作使用这个:
$base_url = 'https://example.org';
$client = new Zend_Rest_Client($base_url);
$endpoint = '/example/dummy/noauth';
$response = $client->restGet($endpoint);
但我无法得到“权威性”一个工作没有它要求每次用户的用户名和密码。目前,我为此使用硬编码值,但最终它将是用户登录时存储在会话中的值。下面是一些我尝试过的事情:
$user = base64_encode('username:password');
$client->setHeaders('Authorization: Basic '.$user);
而且也:
$client = new Zend_Http_Client();
$client->setAuth('username', 'password', Zend_Http_Client::AUTH_BASIC);
这些都不似乎工作。有没有人有任何想法如何实现我所需要的?
可能重复[可能使用Zend \ _Http \ _Client()和Zend \ _Rest \ _Client()一起](http://stackoverflow.com/questions/23342224/possible-to-use-zend-http-客户端和Zend的休息,客户一起) – user3409662