6

我正在制作一个应用程序,我计划让它发生一些云,但我不想创建一个用户数据库并且让用户需要记住他们的用户名和密码。

由于它将通过 chrome 应用商店分发,因此基本上可以保证用户将拥有一个 google 帐户。我想做的就是:

  1. 通过 google 帐户的东西获取用户的电子邮件。如果我通过了那里,那么他们的电子邮件就是我获取该用户数据所需的所有身份验证。

  2. 如果我最终将应用程序放在 chrome 浏览器以外的其他东西上,我只会让用户使用他们的电子邮件请求验证链接,然后我会向他们发送该帐户的验证码,他们将验证码放入应用程序,它把它作为一个经过验证的用户,所以这也是安全和简单的。

编辑:我正在调查这个。到目前为止,我有:

OAuth 2 谷歌 API

但是我有一个问题,我不知道在 Google API 中将什么设置为我的 javascript 来源,并且在国外没有太多关于此的信息。如果有人能告诉我我需要为 chrome 扩展设置哪些 javascript 来源以访问 google api,那将是一个很大的帮助。

PS:感谢投票,这就是我喜欢使用堆栈交换的原因。

4

2 回答 2

2

嗯,我认为这被否决的唯一原因是这个问题可能已经在网站的某个地方被问到了(但我会帮助你并给予 1up)。

所以你想要使用谷歌 OpenID。您必须向 Google 注册您的应用程序,以便他们可以为您的应用程序提供 OAuth2 令牌。我没有用谷歌做到这一点,而是用其他服务,这很容易,只需四处搜索。

在 chrome 扩展中为您的应用程序获取 OAuth2 方面 - 这可能会很痛苦,因为扩展是沙盒的,而且 Google 的示例使用 OAuth 而不是 OAuth2。

这是我在 GitHub 上托管的解决方案 - 我也在我的扩展 GitHub 存储库中使用它:

https://github.com/jjNford/oauth2-chrome-extension

希望这在某种程度上有所帮助。不要对 StackOverflow 感到气馁,它是一个很好的资源,有许多伟大的贡献者。

祝你好运!

于 2012-05-05T18:03:29.623 回答
0

当我正在追踪一个相关问题时,我也不得不投票给你,所以这就是我发现的可能有帮助的内容。

根据这些指示 - http://code.google.com/p/google-api-javascript-client/wiki/Authentication - “在“授权的 JavaScript 来源”框中,输入您网站的协议和域。这应该是协议(http:// 或 https://),后跟任何可选的子域,后跟您的域名,并且没有尾部斜杠。域名后面什么都没有。

这可以防止某些类型的安全攻击,请参阅:http ://en.wikipedia.org/wiki/Same_origin_policy 。

我发现这里有一些相关的问题可能会有所帮助: Problems with Google Picker API and selection Google Drive items and google apis console 'Javascript origins'

现在说了这么多,我仍在尝试为我的一个作为 Google 站点托管的站点找出哪些值应该放在那里,因为没有一个明显的值对我有用。因此,我在此解释中可能遗漏了一些微妙之处。

于 2012-07-14T14:24:31.450 回答