公開 Web サイトに OpenID サポートを実装しています。Yahoo および Verisign の 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: Error fetching URL: Not Found
A. ここには 2 つの謎があります。LWP を直接使用して、https://www.google.com/accounts/o8/idから問題なく XRDS ファイルを取得できます。
B. 同じコードを使用しますが、エンドポイント検出 URL を「https://me.yahoo.com」に変更すると、問題なく動作します。
コードを Google で動作させるにはどうすればよいですか? Yahoo や Verisign で働いているのに、なぜ Google で働いていないのか、とても困惑しています。何か案は?