perl – 如何使用Net :: OpenID :: Consumer与Yahoo OpenID避免
发布时间:2020-12-15 23:32:38 所属栏目:大数据 来源:网络整理
导读:我编写了一个使用Net :: OpenID :: Consumer来使用OpenID进行身份验证的Dancer Web应用程序.它适用于Google和MyOpenID,但不适用于Yahoo.当用户尝试使用他们的Yahoo帐户进行身份验证时,HTML :: Parser警告: Parsing of undecoded UTF-8 will give garbage wh
我编写了一个使用Net :: OpenID :: Consumer来使用OpenID进行身份验证的Dancer Web应用程序.它适用于Google和MyOpenID,但不适用于Yahoo.当用户尝试使用他们的Yahoo帐户进行身份验证时,HTML :: Parser警告:
这个警告杀了我的应用程序(理所当然). 我没有看到Net :: OpenID :: Consumer(或Common)与此相关的任何现有错误. 这是相关的代码: get '/openid_landing' => sub { my $params = params(); my $csr = Net::OpenID::Consumer->new( ua => LWP::UserAgent->new(),consumer_secret => $secret,params => $params,); my $id = $params->{'openid.claimed_id'}; if (my $setup_url = $csr->user_setup_url) { redirect $setup_url; } elsif ($csr->user_cancel) { redirect uri_for('/'); } elsif (my $vident = $csr->verified_identity) { # verified identity,log in or register user ... } else { die "Error validating identity: " . $csr->err; } }; 解决方法
该错误发生在版本1.14(最新)的122-128行的Net / OpenID / URIFetch.pm中
它使用原始内容而不是响应对象的解码内容. 只需删除手动gzip解码并在响应中使用decoding_content方法. 我还没有提交错误报告,请随意. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |