【问题标题】:Example of an OAuth Homepage for GoogleGoogle 的 OAuth 主页示例
【发布时间】:2020-05-04 16:48:57
【问题描述】:

我已经在 iOS 和 Android 中创建了一个使用 OAuth2 的颤振应用程序。为了验证应用程序。虽然我可以在 iOS 上成功登录,但 Android 提供了以下错误:

E/flutter ( 6309): [ERROR:flutter/lib/ui/ui_dart_state.cc(157)] Unhandled Exception: PlatformException(sign_in_failed, com.google.android.gms.common.api.ApiException: 10: , null)

这几乎可以肯定是因为我的 OAuth 验证请求中存在配置问题。他们的拒绝(见下文)描述了他们需要的主页:

尊敬的开发者,

感谢您提交 OAuth 应用验证请求。

很遗憾,我们无法继续进行验证流程 直到提供所要求的东西。

正如我们在之前的交流中所讨论的,继续 您需要的项目的验证流程 提供一个准确代表您的应用程序身份的主页 给谷歌用户。

每个 OAuth2 项目都需要一个主页。为确保用户的 了解您应用的用途后,您的主页应该:

  • 成为您拥有的经过验证的域
  • 准确、包容、方便所有用户访问
  • 链接到外部可访问的域,该域描述了必要的内容、上下文或与您提交的应用程序的连接
  • 透明地解释您的应用程序请求用户数据的目的

但是,尽管有描述,但我不知道它应该是什么样子。有没有可以用作模型的此类页面的示例? 感谢您的帮助。

【问题讨论】:

  • 我实际上希望获得相同的主页示例以获得 google oauth 批准。你找到解决方案了吗?我们可以查看任何主页示例吗?

标签: flutter google-oauth


【解决方案1】:

我在这个问题上与谷歌来来回回。我无法给出简单的答案,但我可以总结一下我为满足合规性而更改的项目。

就上下文而言,我只是在我的个人网页上使用 oauth 来识别用户。我不是在卖应用程序。我没有使用受限范围。我没有接触任何用户数据。

这应该是最简单的情况,但很难获得批准。每个拒绝回复都采用套用信函的形式。我得出的结论是,人工智能已经针对一组合规页面进行了训练,并且它“感觉”我的不合规,即它无法像人类或基于规则的系统那样指出特定的违规行为。出于这个原因,我建议不要在您的电子邮件回复中花费时间。好像没人看啊,改一下内容再回复让AI再看。

您必须在 google 控制台中提供:

  • 主页网址
  • 隐私政策网址
  • 上传的图标图像文件

如果您将 oauth 用于网站,请不要将 oauth 控制台“主页 url”与您网站的基本 url 混淆。 Google 想要一个显示“您的应用是什么”的“主页”。

首页提供的内容必须有一个 [link rel="shortcut icon"],其 href 指向您在 oauth 控制台中上传的图标的相同字节。如果字节不同,因为您使用的是缩放或不同样式的图像,您将被拒绝。

主页上提供的内容必须有一个隐私政策链接,其中 href 与在控制台输入的字符相同。如果它们是相同的页面,但例如通过锚点不同,您将被拒绝。

还要注意缓存。我更改了我的 [link rel="shortcut icon"/] 的内容并得到了似乎接受该图标但抱怨另一个问题的回复。然后,当我解决另一个问题时,他们再次拒绝了我的图标。我认为自从我更改了上传的图标但没有更改其名称后,他们后来看到了一个缓存的图标。我只更改了网址(从而使他们的缓存无效),下一个回复没有抱怨图标。

如果您不使用受限范围,则不需要披露受限使用,但我收到了投诉,所以我添加了它。

这是我用于主页和隐私政策的内容: https://holtstrom.com/michael/about/

这是这篇文章最终获得批准时的样子。

您会看到我将所有的 google 要求都用下划线呈现,然后是满足要求的文本。

如果有帮助,以下是我从 Google 收到的回复:

【讨论】:

  • 我在互联网上能找到的唯一真正有用的信息。将尝试启动一个包含所描述信息的“主页”页面,以代替我当前提供的登录页面 URL(但被拒绝)。我不明白为什么会如此痛苦,但感谢您抽出宝贵时间详细说明您的回复!
  • 我找不到您应该填写“主页”的菜单。你能指出我正确的方向吗?
  • @julianalimin re。 “填写主页”:console.cloud.google.com > OAuth 同意屏幕 > 编辑应用 > 应用主页
  • 首先这是一个奇怪的政策。我不明白为什么他们需要一个仅用于应用程序功能的主页。如果他们希望在应用中显示使用/政策,那会更有意义。
【解决方案2】:

Google OAuth 同意屏幕验证:

@Michael Holtstrom 的回答完美无缺,我的应用在第二次尝试中就获得了批准。

但是,由于互联网上的任何地方都没有关于此的信息,这就是为什么

我将我的答案与所有​​屏幕截图一起发布,只是为了支持@Michael Holtstrom 的答案,以便您可以更有信心地继续前进。

因为,我真的担心我的应用是否会获得批准 3-4 天。因为这是我项目的最后一部分。

我还使用 Google OAuth 来获取电子邮件、姓名和头像。

我的应用本可以仅在第一次尝试时获得批准,但我第一次提交主页时禁用了文本选择(因为我使用 Flutter Web 构建它,默认情况下禁用文本选择)。

所以,我认为 Google 的 AI 无法阅读主页上的文字,因此要求我更新主页。

下一次,我使用 wordpress 构建,然后我的应用获得了批准。

(顺便说一句,我正在使用 chrome 扩展程序 dark reader,这就是为什么所有屏幕截图都启用了暗模式。)

Youtube 视频网址:

https://youtu.be/lzq9WjCXT6c

GCP Console 上的同意屏幕表单

Google OAuth 主页

https://www.madhavkumar.in/about/

隐私政策

https://www.madhavkumar.in/privacy-policy/

Google 信任团队的电子邮件主题

【讨论】:

    猜你喜欢
    • 2012-10-27
    • 2011-01-17
    • 1970-01-01
    • 2013-02-18
    • 1970-01-01
    • 2017-06-11
    • 2021-07-21
    • 2012-03-08
    • 1970-01-01
    相关资源
    最近更新 更多