How to make authentication with Horde_Http_Client?

View: New views
4 Messages — Rating Filter:   Alert me  

How to make authentication with Horde_Http_Client?

by Mathieu Parent :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi,

I'm currently implementing fetching of free/busy state from Microsoft
Exchange servers using "Outlook Web Access" (see
https://issues.kolab.org/issue3870).

Most of Exchange servers provide free/busy without authentication, but
sometime they request one. With the following schemes:
WWW-Authenticate: Negotiate
WWW-Authenticate: NTLM
WWW-Authenticate: Basic realm="toto"

What is the recommended way of handling authentication (Horde being an
HTTP client )?

A pear package implements Basic and digest schemes:
http://pear.php.net/manual/en/package.http.http-request2.request.php#package.http.http-request2.request.auth

Thanks

Mathieu

--
Horde developers mailing list - Join the hunt: http://horde.org/bounties/
Frequently Asked Questions: http://horde.org/faq/
To unsubscribe, mail: dev-unsubscribe@...

Re: How to make authentication with Horde_Http_Client?

by Chuck Hagenbuch :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Quoting Mathieu Parent <math.parent@...>:

> I'm currently implementing fetching of free/busy state from Microsoft
> Exchange servers using "Outlook Web Access" (see
> https://issues.kolab.org/issue3870).
>
> Most of Exchange servers provide free/busy without authentication, but
> sometime they request one. With the following schemes:
> WWW-Authenticate: Negotiate
> WWW-Authenticate: NTLM
> WWW-Authenticate: Basic realm="toto"
>
> What is the recommended way of handling authentication (Horde being an
> HTTP client )?
>
> A pear package implements Basic and digest schemes:
> http://pear.php.net/manual/en/package.http.http-request2.request.php#package.http.http-request2.request.auth

I can and should add better auth support to Horde_Http_Client, but  
neither basic or digest support are going to help you with NTLM.

Ah, I guess those headers mean that it'll take Basic also? I can add  
that pretty quickly.

-chuck

--
Horde developers mailing list - Join the hunt: http://horde.org/bounties/
Frequently Asked Questions: http://horde.org/faq/
To unsubscribe, mail: dev-unsubscribe@...

Re: How to make authentication with Horde_Http_Client?

by Chuck Hagenbuch :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Quoting Mathieu Parent <math.parent@...>:

> I'm currently implementing fetching of free/busy state from Microsoft
> Exchange servers using "Outlook Web Access" (see
> https://issues.kolab.org/issue3870).
>
> Most of Exchange servers provide free/busy without authentication, but
> sometime they request one. With the following schemes:
> WWW-Authenticate: Negotiate
> WWW-Authenticate: NTLM
> WWW-Authenticate: Basic realm="toto"
>
> What is the recommended way of handling authentication (Horde being an
> HTTP client )?

We now have support for at least basic:  
http://lists.horde.org/archives/commits/2009-October/002003.html

A simple example:

$client = new Horde_Http_Client();
$client->request->username = 'user';
$client->request->password = 'pass';

echo $client->get('url');


You can change the scheme to digest or NTLM if you have support for  
the curl or pecl_http adapters:
$client->request->authenticationScheme = Horde_Http::AUTH_DIGEST;

-chuck

--
Horde developers mailing list - Join the hunt: http://horde.org/bounties/
Frequently Asked Questions: http://horde.org/faq/
To unsubscribe, mail: dev-unsubscribe@...

Re: How to make authentication with Horde_Http_Client?

by Mathieu Parent :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Thu, Oct 1, 2009 at 8:07 PM, Chuck Hagenbuch <chuck@...> wrote:

> We now have support for at least basic:
> http://lists.horde.org/archives/commits/2009-October/002003.html
>
> A simple example:
>
> $client = new Horde_Http_Client();
> $client->request->username = 'user';
> $client->request->password = 'pass';
>
> echo $client->get('url');

Great! Thanks a lot.

Mathieu

> You can change the scheme to digest or NTLM if you have support for the curl
> or pecl_http adapters:
> $client->request->authenticationScheme = Horde_Http::AUTH_DIGEST;
>
> -chuck

--
Horde developers mailing list - Join the hunt: http://horde.org/bounties/
Frequently Asked Questions: http://horde.org/faq/
To unsubscribe, mail: dev-unsubscribe@...