问题标签 [google-openid]

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 投票
0 回答
475 浏览

c# - OpenId - 如何使用 checkid_immediate 和 x-has-session?

文档并没有详细说明这两个参数。我知道它们在某种程度上与登录状态检查有关。

我想检查用户当前是否登录了浏览器(意思是用谷歌登录,并选中“让我登录”)

我希望能够区分状态:

  1. 用户已登录浏览器(例如,使用 Google 登录,然后选中“保持登录状态”)并且该用户已经批准了我的应用程序。

  2. 任何其他状态。(用户未登录。用户已登录但其身份尚未批准......等)

如果我知道我处于第一个状态,我不需要“显示”弹出窗口(我给它 top=9999 left=9999)

我试图用这段代码找出这两种状态。这需要在没有任何用户交互或任何视觉提示的情况下完成。

运行此代码,将向redirect.aspx 发送回调,但查询字符串没有任何关于我感兴趣的状态的信息。它包含openid.mode=setup_needed 等。

0 投票
2 回答
9843 浏览

openid - http://axschema.org 和 http://schemas.openid.net 的可用属性列表

我搜索了高、低、远和广泛,但在 Internet 上找不到列出这些模式可用属性的任何内容。有谁知道这些文件在哪里?到目前为止,我知道:

http://axschema.org/namePerson/first

http://axschema.org/namePerson/last

http://axschema.org/contact/email

http://schemas.openid.net/ax/api/user_id

0 投票
1 回答
145 浏览

ruby-on-rails - Rails 3.0.9 + open_id_authentication

我正在使用 open_id_authentication gem 向谷歌进行身份验证。在我的会话控制器中,我调用

它返回 401 状态代码未验证。但它应该显示我必须确认访问的谷歌页面。

我制作了示例应用程序:https ://github.com/mbashirov/rails3-test ,它只有会话控制器和路由集中的代码。

该代码在 rails 2.3 应用程序上完美运行。有错误吗?

谢谢。

解决方案。

在会话控制器中添加

在 config/application.rb 添加

在这两个步骤之后一切正常。

0 投票
1 回答
980 浏览

grails - grails spring security openId插件:无法使用gmail帐户登录

我刚刚安装了 springsecurity core 和 spring security openId 插件。我可以使用 yahoo 帐户登录我的应用程序,但无法使用 gmail 帐户登录。我收到以下错误消息:

错误 consumer.ConsumerManager - 关联尝试,但未提供发现端点。

我在这里按照第 3 节中的说明进行操作:http: //burtbeckwith.github.com/grails-spring-security-openid/docs/manual/index.html

我找不到可以配置发现端点的任何地方。任何帮助,将不胜感激。

0 投票
1 回答
1322 浏览

php - 有人在 PHP 中成功实现了谷歌身份工具包吗?

我正在尝试用 PHP 和 Javascript 实现 Google Identity Toolkit

我已经定义了 7 种情况 Callback Url: Login URL: User status Signup URL: Logout URL: Home URL: Forgotten URL:

和小部件并获得了一个api密钥..我正在尝试执行与google提供的以下示例相同的功能

https://account-chooser.appspot.com/

我在让谷歌验证我的登录时遇到问题。我做错了我的verifyAssertion(用 php 中的 curl 完成)或

这就是发生的事情和我遇到的问题:谷歌有这个小部件,它首先向你显示一个带有钥匙图标的登录,你点击它,然后你选择一个谷歌帐户或雅虎或任何你使用的(这部分都可以)例如,您的 google 帐户然后会出现一个弹出窗口,GIT 会施展魔法(将对您的回调 url 进行回调),然后根据您的回调响应重定向到您的站点帐户登录或错误。在这种情况下会发生什么,它实际上以登录的身份重定向到我的站点帐户,但小部件并未显示我实际上已登录。不像谷歌的示例页面..它仍然显示密钥签名小部件......

我正在做一些破旧的事情,我不知道如何解决它......

这里有一些来自谷歌的更多参考资料。它有点无证(createAuthUrl 我什至没有用过那个..不知道是干什么用的)

http://code.google.com/apis/identitytoolkit/v1/reference.html

http://code.google.com/apis/identitytoolkit/v1/acguide.html 我已经在示例中使用 EasyRpService 实现了 verifyAssertion 奇怪的是响应为 NULL 并且 HTTP 错误代码也为 NULL ..no 4xx 也不是 200

有人实施了吗?

0 投票
1 回答
393 浏览

facebook - 最接近 google 的“facebook connect”,是 OpenId、OAuth 还是 google 朋友连接?

我想实现用户身份验证+在谷歌帐户中访问他/她的数据。OAuth 似乎是最好的选择,但 openId 和 google 朋友连接似乎也让我感到困惑。这是我的要求:

  1. 仅要求用户一次授予我的应用程序的范围权限(如 facebook 应用程序所做的那样)

  2. 根据权限,获取用户数据,并为我的网站创建他/她的帐户。在这里,我想将他的 UNIQUE GOOGLE ID 映射到 UNIQUE MYWEBSITE ID,并存储这对。如何获取 UNIQUE_GOOGLE_ID ?例如。对于 facebook,它是个人资料 ID:所以我映射 111100xxxx -> MY_WEBSITE_ACCOUNT_ID

除了电子邮件之外,谷歌帐户的数字唯一 ID 是什么?

  1. 当用户第二次登录时,不应要求他获得许可,并在步骤 2 中使用他的 UNIQUE_GOOGLE_ID 存储登录。

OAuth 能做到这一切吗,主要是步骤#1,只请求一次权限,除非在谷歌帐户设置中撤销。

0 投票
1 回答
1745 浏览

java - 使用 openid4java 进行“使用谷歌登录”时验证失败

我正在使用 openid4java 库在 spring-mvc 应用程序中实现“使用 google 登录”功能。

它在我的本地 tomcat 服务器上运行良好,但在远程服务器上它突然停止工作。在那之前它也工作得很好。

在 catalina.out 进行一些登录后,我发现在 google 重定向到返回 url 后,响应的验证失败

在远程服务器上验证的值为空。在本地服务器上,它是一个 uri

我知道在处理响应时,ConsumerManager 需要与用于放置身份验证请求的实例相同。

其余代码实现如下

有一个 OpenIdController,其中 OpenIdService 是自动装配的。

OpenIdServiceImpl 实现 OpenIdService 并具有返回 consumerManager 实例的 getConsumerManager 方法。

在 OpenIdServiceImpl 的构造中,创建了 ConsumerManager 的实例。

创建提交表单和处理响应的操作写在 OpenIdController 中,并使用 getConsumerManager 方法访问 consumerManager 实例。

编辑:

我尝试在表单提交之前记录发现信息,并在此处的回调中将其输出

我在这里做错什么了吗?但它适用于本地服务器!

或者与远程服务器上的 tomcat 配置有关?

任何帮助表示赞赏。如果需要,我可以发布代码。

谢谢。

0 投票
1 回答
1008 浏览

jquery-mobile - 使用 jquery mobile 的 Google OAuth

我有一个“登录谷歌”按钮,它点击了一个内部所有网址“/auth/google”。然后,此端点发送 302 以重定向到正确的 Google Apps OAuth 端点。

这适用于桌面版本。但由于 jQueryMobile 使用自己的导航方案,它在收到 302 时停止尝试。

可以做什么?我可以以某种方式连接到导航以强制它处理 302 吗?

0 投票
1 回答
347 浏览

php - 会话变量或 cookie 的存在导致 PHP 中的 Google Plus API 授权 (OAuth) 失败

当用户访问我的页面(类似于 Google Plus API PHP starter)时,我的应用需要授权才能访问用户的个人资料。我设置的回调 URI 是页面本身。最初,一切都很顺利:用户成功授权返回我的页面($authUrl 未设置,而 $me 和 $activities 已设置)。

但是,现在我需要将一个名为“id”的参数从授权之前传递到授权之后,这似乎把一切都搞砸了:-(

如果发送授权请求时有会话变量或cookie,则用户在没有授权的情况下返回我的页面(设置了$authUrl,而$me 和$activities 为NULL)。

更奇怪的是:使用后

setcookie('storedid', $_GET['id'], time()+3600, '/', '.mydomain.com');

用户未经授权返回),同时:

setcookie('storedid', $_GET['id'], $expire, '/anysubfolder/', '.mydomain.com');

它完美无缺!另外,在某些时候我打错了,$_GET['id'] 是 NULL,即使 cookie 在 '/' 路径中,授权也是成功的!

有没有办法可以在授权之前到之后传递参数?

我开始考虑一些疯狂的事情(将“id”连同用户的 IP 地址一起写入 SQL 表,并在授权后通过查询检索它)但它并不健壮,坦率地说它会很烂!

0 投票
1 回答
1937 浏览

authentication - 在对用户进行身份验证时强制 Google OAuth 请求用户名/密码

当我尝试通过 Google OAuth 1.0 对用户进行身份验证时,如果用户已经使用 Google 登录,系统会自动询问他是否允许访问我的应用程序。我想强制用户再次向 Google 提交他/她的凭据,因此他可能会提供与他登录时使用的帐户不同的帐户(FB 和 Twitter OAuth 握手都有此选项)。

另外,是否有一个参数可以传递给谷歌,让它知道它在弹出窗口中,所以它可以更好地调整布局?同样,FB 和 Twitter 获得弹出窗口的“所有权”并调整其大小,使其布局完美契合。他们还知道在弹出窗口中呈现,因此呈现不同的布局。

谷歌的 API 似乎远远落后。我发现整个实现难以使用,XML 令人毛骨悚然,充满了无用的数据,文档不完整,整个过程在其服务之间甚至在同一个服务之间都不一致!