首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在实现OAuth之前,是否必须在Google Apps上注册我们的web应用程序?

在实现OAuth之前,是否必须在Google Apps上注册我们的web应用程序?
EN

Stack Overflow用户
提问于 2011-01-31 15:34:25
回答 3查看 382关注 0票数 1

我正在开发一个Java应用程序,需要访问用户的个人帐户谷歌数据。该开发目前在我的本地主机上的netbeans中。我正在实现3条腿的OAuth。在发送Grant request时,它会向我发送未经授权的请求令牌,然后重定向到回调URL。

当尝试访问访问令牌时,它给我错误“错误获取HTTP响应”。现在,根据Google Documentation给出的,“如果应用程序没有注册,谷歌将使用匿名网址;如果没有设置,谷歌将使用字符串”oauth_callback“。”这是否意味着我必须在Google Apps引擎上注册我的应用程序,然后才能批准授权和访问请求?请帮帮忙。

参考:OAuth for Web ApplicationsOAuth in the Google Data Protocol Client Libraries

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-02-01 10:02:56

根据你的问题,可能不是注册表给你带来麻烦。听起来您只是没有正确地实现OAuth -并不是说这样做很容易。OAuth流程大致如下:

  1. 获取请求令牌。你必须传递一堆东西,声明你想要访问什么类型的东西,以及当用户授予你对这些数据的访问权限后,你希望Google把它发送到哪里。这是您传递消费者密钥的地方,您可以通过注册获得该密钥。如果您正在开发已安装的应用程序(例如,移动应用程序、桌面应用程序等),则消费者密钥将是字符串anonymous。这是一种变通办法;另一种方法是将客户端秘密或RSA私钥嵌入到应用程序本身中,这是一个非常非常糟糕的主意。如果你使用‘匿名’,你绝对应该设置xoauth_displayname参数。(实际上,每个人都应该设置这个参数,但如果您使用的是anonymous.)
  2. Once,那么特别重要的一点是,如果您使用的是请求令牌,则需要将用户重定向到特殊的授权端点,并在查询字符串中传递请求令牌关键字。假设用户授予访问权限,Google会将用户重定向回您与请求令牌关联的回调URL。请求令牌现在已授权,但暂时不能直接使用。
  3. 请求令牌授权后,您可以将其交换为访问令牌密钥/密钥对。然后,访问令牌密钥/秘密可用于对受保护资源的请求进行签名,例如您试图访问的应用编程接口中的私有数据。

对于web应用程序,注册几乎总是一个好主意。它使用户更容易管理他们的访问令牌,如果你的应用程序行为不正常,或者如果他们不想让你再拥有访问权限,就可以撤销他们的令牌。如果你不注册,你的应用程序可能会在列表中显示为一个看起来相当可怕的“匿名”。它实际上只安装了你不想注册的应用程序。您可能还想注册一个API key。API密钥将极大地提高您的速率限制,如果您的应用程序开始出现故障,它还将允许Google与您联系。

我可以链接到OAuth文档,但您已经找到了。希望我的解释能有所帮助!

票数 1
EN

Stack Overflow用户

发布于 2011-01-31 15:46:49

如果您在本地机器上进行开发,您将继续获得与上面相同的结果。

对于更多有趣的测试,是的,你必须注册你的应用程序并将其推送到应用程序引擎。

票数 0
EN

Stack Overflow用户

发布于 2011-01-31 15:51:50

Google将检查return-url的域名是否已注册。您还可以修改您的dns/host-file,使其指向您用于本地主机的域名。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4848571

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档