【问题标题】:Why are Google API manager credentials necessary? (Or are they?)为什么需要 Google API 管理器凭据? (或者他们是?)
【发布时间】:2017-02-28 03:19:18
【问题描述】:

我正在与其他 3 名学生一起制作一个使用 Google 日历 API 的 Android 应用,我们正在努力理解身份验证过程。

我们希望能够仅包含一个 Java 库,该库调用 API 并将我们的应用设置为请求日历权限,然后在我们的模拟器上登录我们的个人 Google 帐户并让应用能够访问我们各自的日历。我们不断收到 403(禁止)错误,显然这不起作用。

因此,我们尝试翻阅令人困惑的 API 文档,并从 Quickstart 项目中复制了一些内容。我们设法在 Google Developer Console 上相互共享项目,并为我们的每台计算机添加 OAuth 凭据,现在它适用于我们每个人,但我们仍然感到困惑。

  1. 为什么需要创建此凭据?
  2. 发布过程将如何进行?显然,我们不希望我们的用户必须为每台设备生成 SHA1 密钥才能使用 Play 商店中的应用。
  3. 有更简单的方法吗?我们还需要开发者控制台吗?

这些问题可能已经得到解答,但我对这个过程了解得不够多,不知道要搜索什么。

【问题讨论】:

    标签: android api oauth-2.0 google-developers-console


    【解决方案1】:

    Google 使用 OAuth 2.0 进行用户身份验证。这意味着每当第三方应用程序需要访问谷歌数据的权限时,用户必须首先批准该请求。

    现在,为了提供授权,Google 会向您提供凭据(密钥和秘密),使用此密钥和秘密 Google 会为应用程序生成访问密钥和刷新密钥。

    访问密钥:用于在有限时间内从 Google 服务器访问数据的密钥。 Refresh Key:旧访问密钥过期时用于获取新访问密钥的密钥。

    现在专注于您的问题。

    问:为什么需要创建此凭据? A:确保只有您的应用可以访问用户的日历数据的凭据。

    问:发布过程将如何进行?显然,我们不希望我们的用户必须为每个设备生成 SHA1 密钥才能使用来自 Play 商店的应用程序。 A:Google 会生成访问和刷新密钥。

    问:有没有更简单的方法来做到这一点?我们甚至需要开发者控制台吗? 答:相信我..一旦你弄清楚了,这是非常简单且最重要的安全方式。 (Google 不允许默认使用密码进行身份验证)

    您可以从这里了解更多信息:https://developers.google.com/identity/protocols/OAuth2

    【讨论】:

    • 感谢您的回答。如果我们在发布后不需要为每个设备提供不同的凭据,您能否解释我们是否/为什么需要为每个调试设备提供不同的凭据?
    • 所有设备都没有相同的凭据。 Google 将为每个帐户提供不同的访问和引用密钥。
    猜你喜欢
    • 1970-01-01
    • 2012-10-11
    • 2018-04-16
    • 1970-01-01
    • 2014-12-18
    • 1970-01-01
    • 1970-01-01
    • 2018-08-09
    • 1970-01-01
    相关资源
    最近更新 更多