* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); }
-
-require_once(INSTALLDIR.'/plugins/OpenID/User_openid.php');
+if (!defined('STATUSNET')) {
+ exit(1);
+}
require_once('Auth/OpenID.php');
require_once('Auth/OpenID/Consumer.php');
require_once('Auth/OpenID/SReg.php');
require_once('Auth/OpenID/MySQLStore.php');
-# About one year cookie expiry
+// About one year cookie expiry
define('OPENID_COOKIE_EXPIRY', round(365.25 * 24 * 60 * 60));
define('OPENID_COOKIE_KEY', 'lastusedopenid');
{
static $store = null;
if (!$store) {
- # Can't be called statically
+ // Can't be called statically
$user = new User();
$conn = $user->getDatabaseConnection();
$store = new Auth_OpenID_MySQLStore($conn);
$trust_root = common_root_url(true);
$process_url = common_local_url($returnto);
- if ($auth_request->shouldSendRedirect()) {
+ // Net::OpenID::Server as used on LiveJournal appears to incorrectly
+ // reject POST requests for data submissions that OpenID 1.1 specs
+ // as GET, although 2.0 allows them:
+ // https://rt.cpan.org/Public/Bug/Display.html?id=42202
+ //
+ // Our OpenID libraries would have switched in the redirect automatically
+ // if it were detecting 1.1 compatibility mode, however the server is
+ // advertising itself as 2.0-compatible, so we got switched to the POST.
+ //
+ // Since the GET should always work anyway, we'll just take out the
+ // autosubmitter for now.
+ //
+ //if ($auth_request->shouldSendRedirect()) {
$redirect_url = $auth_request->redirectURL($trust_root,
$process_url,
$immediate);
} else {
common_redirect($redirect_url, 303);
}
+ /*
} else {
// Generate form markup and render it.
$form_id = 'openid_message';
$form_html = $auth_request->formMarkup($trust_root, $process_url,
$immediate, array('id' => $form_id));
- # XXX: This is cheap, but things choke if we don't escape ampersands
- # in the HTML attributes
+ // XXX: This is cheap, but things choke if we don't escape ampersands
+ // in the HTML attributes
$form_html = preg_replace('/&/', '&', $form_html);
$action->handle(array('action' => 'autosubmit'));
}
}
+ */
}
-# Half-assed attempt at a module-private function
+// Half-assed attempt at a module-private function
function _oid_print_instructions()
{
if (!empty($sreg['country'])) {
if ($sreg['postcode']) {
- # XXX: use postcode to get city and region
- # XXX: also, store postcode somewhere -- it's valuable!
+ // XXX: use postcode to get city and region
+ // XXX: also, store postcode somewhere -- it's valuable!
$profile->location = $sreg['postcode'] . ', ' . $sreg['country'];
} else {
$profile->location = $sreg['country'];
}
}
- # XXX save language if it's passed
- # XXX save timezone if it's passed
+ // XXX save language if it's passed
+ // XXX save timezone if it's passed
if (!$profile->update($orig_profile)) {
// TRANS: OpenID plugin server error.