J'applique la prise en charge de OpenID pour un site Web public. L'authentification OpenID Yahoo et Verisign fonctionne correctement. Cependant, je n'arrive pas à me connecter au point de terminaison de Google. est sous le code:Pourquoi Net :: OpenID :: Consumer échoue-t-il lorsque vous tentez de récupérer le point de terminaison de découverte OpenID de Google?
initialisation habituelle et d'autres choses ...
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";
... d'autres choses
L'erreur est toujours le même: url _fetch
_error: Erreur lors de la URL: Non Trouvé
A. Il y a deux mystères ici. Je peux utiliser directement LWP et récupérer le fichier XRDS de https://www.google.com/accounts/o8/id sans aucun problème. B. L'utilisation du même code, mais le changement de l'URL de découverte de point de terminaison à "https://me.yahoo.com" fonctionne parfaitement bien.
Comment faire fonctionner mon code avec Google? Je ne comprends pas pourquoi je ne travaille pas pour Google quand il fonctionne pour Yahoo et Verisign. Des idées?