我已经能够成功使用 Net::OpenID::Consumer,但是当我开始请求用户的电子邮件地址时,Google 现在会提示用户授权共享他们的电子邮件地址。每次都会发生这种情况,无论用户是否选中“记住此批准”复选框。如何防止 Google 每次都提示用户批准?
我们网站的 OpenID 注册和登录路径是一样的,否则我们只能在用户注册时向 Google 请求电子邮件地址。
我会尝试发布足够多的相关代码(这是一个 Dancer 应用程序)。
my $csr = Net::OpenID::Consumer->new(
ua => LWP::UserAgent->new(),
consumer_secret => $secret,
);
my $claimed_identity = $csr->claimed_identity('https://www.google.com/accounts/o8/id');
$claimed_identity->set_extension_args(
"http://openid.net/srv/ax/1.0",
{
'mode' => 'fetch_request',
'type.email' => 'http://axschema.org/contact/email',
'required' => 'email',
});
my $check_url = $claimed_identity->check_url(
return_to => 'http://my.site.com/openid_landing',
trust_root => 'http://my.site.com',
delayed_return => 1,
);
雅虎似乎没有这个问题。我想这可能是谷歌的一个问题,但我敢打赌这是我的代码。