Я реализую поддержку OpenID для общедоступного веб-сайта. Yahoo и Verisign openid аутентификация в настоящее время отлично работает. Однако я не могу подключиться к конечной точке Google. Ниже приведен код:Почему Net :: OpenID :: Потребитель не работает, пытаясь захватить конечную точку обнаружения OpenID Google?
Обычная инициализация и прочее ...
my $csr = Net::OpenID::Consumer->new(
ua => LWP::UserAgent->new(),
consumer_secret => time,
args => CGI->new(),
debug => 1,
);
my $claimed_identity =
$csr->claimed_identity('https://www.google.com/accounts/o8/id');
my $check_url = $claimed_identity->check_url(
return_to => "http://bla.com/openid",
trust_root => "http://bla.com",
delayed_return => 1,
);
print $check_url, "\n";
... другие вещи
ошибка всегда одинакова: URL _fetch
_error: Ошибка выборки URL: Не Найдено
A. Здесь есть две тайны. Я могу напрямую использовать LWP и захватить файл XRDS с https://www.google.com/accounts/o8/id без каких-либо проблем.
B. Использование того же кода, но изменение URL-адреса обнаружения точки на «https://me.yahoo.com» работает отлично.
Как мне заставить мой код работать с Google? Я довольно озадачен, почему я не работаю в Google, когда он работает на Yahoo и Verisign. Есть идеи?