LWP::Authen::Gooddata - Handle GoodData HTTP authentication mechanism
use WWW::GoodData::Agent; my $agent = new WWW::GoodData::Agent ('https://secure.gooddata.com/gdc'); $agent->post ('/gdc/account/login', ...); # The authentication cookie gets obtained transparently here $agent->get ('/gdc/md');
LWP::Authen::Gooddata gets loaded and invoked by a LWP::UserAgent, or its subclass such as WWW::GoodData::Agent, upon reciept of 401 "Unauthorized" response from the server which indicates use of "GoodData" authentization mechanism in the "WWW-Authenticate" header.
If the challenge indicates the temporary authentization cookie needs to be refreshed it does so transparently and reissues the request, otherwise dies with appropriate explanation.
http://developer.gooddata.com/api/auth.html -- Specification of the GoodData authentization mechanism
LWP::UserAgent -- The Perl HTTP agent
GoodData authentization mechanism is not an internet standard and thus puts an interoperability barrier. Unfortunatelly, no standard and widely supported mechanism provides comparable benefits (mostly server-side performance coupled with sanity of implementation). Probably an alternative mechanism should be provided (Basic or Digest, which are both widely available) for the client to negotiate.
Copyright 2011, 2012, 2013 Lubomir Rintel
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.