LightOpenID 无法验证 MyOpenID

发布于 2025-01-07 13:45:39 字数 408 浏览 0 评论 0原文

由于某种原因,LightOpenID 无法验证我的 MyOpenID 帐户。

我已经测试了该库附带的 example.php,它与我的 Google 帐户配合得很好,但与 MyOpenID 配合使用时总是出现问题说认证无效。

我发现导致失败的行是 validate() 方法中的最后一行:

743|  return preg_match('/is_valid\s*:\s*true/i', $response);

所以我猜测某些响应返回 false 但是什么样的响应以及为什么会这样发生?

For some reason LightOpenID fails to validate my MyOpenID account.

I've tested the example.php that comes along with the library and it works with my Google account just fine, but with MyOpenID it's always say that the authentication is invalid.

I found that the line causing the failure is the last one in the validate() method:

743|  return preg_match('/is_valid\s*:\s*true/i', $response);

So I guess that some response returns false but what kind of response and why could it happen?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

花辞树 2025-01-14 13:45:39

我也遇到过同样的问题。问题的可能根源是您正在请求一些详细信息,例如全名,并且此类数据包含非 ASCII 字符。在这些情况下,MyOpenID 会发回一个 post 请求,其中这些字符会被破坏。如需了解更多详情,请参阅此错误报告

据我所知,这是 MyOpenId 方面的一个错误。问题是MyOpenID服务基本被废弃,bug也不会被修复。您的替代方案:

  • 作为 OpenID 用户,选择其他提供商。
  • 作为 OpenID 消费者,不要请求额外的数据。

I've suffered from this same issue. The likely source of the problem is that you are requesting some details such as full name and such data contains non-ASCII characters. In those situations, MyOpenID sends back a post request where such characters get mangled. See this bug report for further details.

As far as I know, it's a bug on MyOpenId's side. The problem is that the MyOpenID service is basically abandoned and the bug will not be fixed. Your alternatives:

  • As OpenID user, choose another provider.
  • As OpenID consumer, don't request additional data.
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文