问题标签 [lightopenid]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
129 浏览

php - 从 openID 获取数据

我正在尝试使用 LightOpenID 获取数据。照原样,下面的代码正在工作,但如果我取消注释这些行以获取更多信息,它会超时并且不会显示任何错误。我究竟做错了什么?

0 投票
2 回答
4533 浏览

php - 在 https://www.google.com/accounts/o8/id 上找不到 OpenID 服务器

有趣的是,我在两个不同的服务器(a.com,b.com)上使用相同的 .php 脚本,结果不同,我猜它们有不同的配置。虽然在 a.com 上我能够很好地完成 SSO 流程,但 b.com 会抛出“在https://www.google.com/accounts/o8/id上找不到 OpenID 服务器”。

我的 php 脚本如下所示:

在 b.com 中, $openid->authUrl() 行会抛出错误消息: No OpenID Server found at https://www.google.com/accounts/o8/id

什么服务器配置可能导致此问题?

0 投票
1 回答
140 浏览

php - ios Safari 正在从 $_SERVER['HTTP_HOST'] 中删除“www”,这怎么可能

在子域上有一个单独的移动站点,其名称m.domain而不是domain

当我尝试使用 openid 在 ios 设备上登录时,我从谷歌收到一个错误页面,但如果我从桌面使用该网站,则不会。

chrome mobile 没问题,就是 safari。我认为这些服务器变量无论如何都会保持不变?

有人可以解释一下吗?

编辑: 除了 openid 需要在其授权请求中包含“www”,因为我比较了字符串,实际上并没有以错误的形式输出太多内容。它在由 lightopenid 库中的“SERVER ['HTTP_HOST']”设置的“领域”变量中出错。

0 投票
1 回答
184 浏览

php - validate() 函数如何阻止虚假身份验证请求?

我刚刚调试了一段我的 php 代码,其中我的登录代码没有正确验证请求。我不知何故跳过了使用 ->validate() 函数,我的一位网站测试人员通过从谷歌(下)获取响应并将他的电子邮件更改为管理员电子邮件,设法登录了管理员帐户。

http://mydomain/login/?openid.ns=http%3A%2F%2Fspecs.openid.net%2Fauth%2F2.0&openid.mode=id_res&openid.op_endpoint=https%3A%2F%2Fwww.google.com%2Faccounts%2Fo8%2Fud&openid.response_nonce=2013-02-15T03%3A56%3A27ZY153c0JFI0G5wA&openid.return_to=http%3A%2F%2Flocalhost%2Flogin%2F&openid.assoc_handle=AMlYA9UI33WW3XfuQGjITXSgB0a0x8nsqD91iuWK9mdvwyBm4EEbk08g&openid.signed=op_endpoint%2Cclaimed_id%2Cidentity%2Creturn_to%2Cresponse_nonce%2Cassoc_handle%2Cns.ext1%2Cext1.mode%2Cext1.type.namePerson_first%2Cext1.value.namePerson_first%2Cext1.type.namePerson_last%2Cext1.value.namePerson_last%2Cext1.type.contact_email%2Cext1.value.contact_email&openid.sig=laAMatkmFjOPrKPsmaIEg%3D&openid.identity=https3A%2F%2Fwww.google.com%2Faccounts%2Fo8%2Fid%3Fid%3DAawnUG6Mr7_ynO1mN-fThr9wbOo&openid.claimed_id=https%3A%2F%2Fwww.google.com%2Faccounts%2Fo8%2Fid%3Fid%OawnUG6Mr7_ymuB1mN-fTFhr9wbOo&openid.ns.ext1=http%3A%2F%2Fopenid.net%2Fsrv%2Fax%2F1.0&openid.ext1.mode=fetch_response&openid.ext1.type.namePerson_first=http%3A%2F%2Faxschema.org%2FnamePerson%2Ffirst&openid.ext1.value.namePerson_first=T&openid.ext1.type.namePerson_last=http%3A%2F%2Faxschema.org%2FnamePerson%2Flast&openid.ext1.value.namePerson_last=M&openid.ext1.type.contact_email=http%3A%2F%2Faxschema.org%2Fcontact%2Femail&openid.ext1.value.contact_email=**myemail%email.com**

这让我们对 open id 如何使用 validate() 函数进行验证、请求来自何处、被发送回正确的源以及捕获任何未从 openid 服务器直接发送回的内容非常感兴趣?sig 或 identity 变量是否被用作某种公钥/私钥系统?

如果有人可以帮助我理解那将是很酷的。

非常感谢

0 投票
1 回答
660 浏览

php - OpenID/LightOpenID:验证()失败

我正在使用 LightOpenID 库尝试通过 OpenID 注册用户。除了 validate() 总是失败之外,一切似乎都适用于 Google 身份验证。我正在转储 $openid 并且所有数据似乎都井井有条,尽管 validate() 仍然失败。

在 Google Apps 上看到过 LightOpenID validate() fail这个问题,但我的问题略有不同,因为我确定响应不是未找到服务器,而是服务器出于某种原因响应 is_valid: false。为什么会这样?

这是我的做法(在 Laravel 中):

任何帮助将不胜感激,在此先感谢。

0 投票
1 回答
364 浏览

php - 单个文件 PHP 库的 LightOpenID 登录 - 无法访问图像

我有 Single File PHP Gallery 和 OpenID 提供程序。画廊应该只对注册用户开放,所以我尝试通过 LightOpenID 添加一个登录到画廊。另外我必须设置一个cookie才能保持登录状态。

综上所述

  1. 打开 index.php - 询问 OpenID - FINE
  2. 输入 OpenID 并设置 cookie - FINE
  3. 显示画廊:没有图像!

我看不到图像...脚本加载 CSS,但不加载图像。这是来源:

索引.php

登录.php

我认为,服务器不允许 SFPG 脚本访问图像,因为该脚本没有 cookie,所以我尝试了您在 index.php 中看到的奇怪的解决方法

非常感谢您的任何帮助。

单个文件 PHP 库:http ://sye.dk/sfpg/

0 投票
0 回答
231 浏览

php - 使用 openid.php 在 php 中出现错误以登录 google 帐户

openid.php在 php 中使用 Google 帐户进行授权。但它会显示9警告

等等。

0 投票
1 回答
245 浏览

php - 这是使用openId的方式吗?

我不想编写自己的登录函数,所以我想使用 openId。我找到了库 lightopenid 并对 google-example 文件进行了一些修改,它看起来像这样:

所以我在那里添加了一个 $_SESSION 东西......现在想我可以在每个受保护页面的顶部使用一些代码,如下所示:

我希望以正确的方式完成此操作,以便一切安全等等。你会这样做还是我做错了什么?我可能会使用 cookie 来代替...

0 投票
1 回答
175 浏览

php - 从openId清空用户信息,为什么?

我有这个修改过的 lightOpenId 的谷歌示例连接代码:

我的问题是 $openid->required 不返回任何东西。数组本身甚至不包含一个空的“联系人/电子邮件”字段。我在这里做错了什么?

0 投票
0 回答
296 浏览

php - 如果用户已登录 Google Apps,则在网络应用中自动登录

我想知道实现自动登录到我的网站的最佳方式。我所说的自动是这样的:

我已经登录了谷歌。我现在去我的网站和它的登录页面。我希望网络应用程序检测到我已经登录 Google 并绕过整个登录页面,而不是单击链接以使用 Google 登录。

我们如何使用 PHP 和 lightopenid 做到这一点?