通过全新 OAuth 自定义 URI 方案限制提高 OAuth 流程中的用户安全性

十月 02, 2023
Vikrant Rana Product Manager

众所周知,OAuth 2.0 自定义 URI 方案容易遭受应用模仿攻击。Google 不断承诺提高用户安全性,并寻找更安全的方法来使用可以访问 Google 用户数据的第三方应用,为此,我们将限制对自定义 URI 方案方法的使用。新的 Chrome 扩展程序将停用这些方法,并且在默认情况下,Android 应用也不再支持这些方法。

禁用全新 Chrome 扩展程序的自定义 URI 方案重定向方法

为了防止用户受到可能模仿 Chrome 扩展程序并窃取其凭据的恶意入侵者的攻击,我们不再允许新的扩展程序使用 OAuth 自定义 URI 方案方法。相反,请使用 Chrome Identity API 实现 OAuth,这种方式可以更安全地为您的应用提供 OAuth 2.0 响应。

开发者需要做什么?

新的 Chrome 扩展程序将需要使用 Chrome Identity API 方法进行授权。虽然现有的 OAuth 客户端配置不受此更改的影响,但我们强烈建议您将其迁移至 Chrome Identity API 方法。今后,我们可能会禁用自定义 URI 方案方法,并要求所有扩展程序使用 Chrome Identity API 方法。

默认情况下禁用 Android 客户端的自定义 URI 方案重定向方法

在默认情况下,新的 Android 应用将无法继续使用自定义 URI 方案发出授权请求。相反,请考虑使用适用于 Android SDK 的 Google Identity Services,直接为您的应用提供 OAuth 2.0 响应。

开发者需要做什么?

我们强烈建议将现有应用切换为使用适用于 Android SDK 的 Google Identity Services。如果您正在创建新应用,但推荐的替代方案无法满足您的需求,您可以在 Google API 控制台客户端配置页面的“高级设置”部分,为您的应用启用自定义 URI 方案方法

面向用户的错误消息

如果用户尝试使用采用自定义 URI 方案方法发出未经授权请求的应用,他们可能会看到“无效请求”的错误消息。他们可以点击错误消息中的“了解详情”链接,详细了解此错误。

Chrome-Identity-API-release-2.png
面向用户的错误示例

面向开发者的错误消息

在测试其应用的用户流时,开发者将能看到其他错误信息。他们可以点击“查看错误详情”链接(其中包括错误的根本原因)来进一步了解此错误,并点击说明链接来了解如何解决此错误。

error
面向开发者的的错误示例