A language is only as good as its developer is.

REST autorizacija

Neseniai teko padirbėti su WebServisais, konkrečiau su REST. Naudojau Zend_Rest komponentą. Susidūriau su problema, kai reikėjo perduoti autorizacijos duomenis.
Intuityviai bandžiau rašyti taip:

...
$client = new Zend_Rest_Client(
'http://username:password@api.uri');
...

Ir po netrumpo debug’inimosi supratau ką darau netaip. Pasirodo norint perduoti autorizacijos duomenis reikia naudoti Zend_Http_Client ir jį peduoti Rest klientui. Tad teisingai parašytas kodas tūrėtų atrodyti taip:

...
$client = new Zend_Rest_Client('http://api.uri');

$httpClient = new Zend_Http_Client();
$httpClient->setAuth('username', 'password',
 Zend_Http_Client::AUTH_BASIC);
$client->setHttpClient($httpClient);
...

Sėkmingo naudojimo ;)

  • Va čia Zend’o evil sakyčiau. Man labai panašiai reikėjo susidurti su Zend_mail (bent jau senesnėse versijose), kad ne viskas taip simple kaip intuityviai tikiesi :)

  • Na toks čia ir evil :) galima submit’inti pasiūlymą į ZF ir patobulinti Zend_Http kūrimą.

    Nes teisingas sprendimas man irgi neatrodo blogas :)

You can follow any responses to this entry through the RSS 2.0 feed.