如何将OAuth2客户端id与chrome扩展文件一起分发

How do I distribute OAuth2 client id with my chrome extension file?

本文关键字:文件 扩展 一起 chrome OAuth2 客户端 id      更新时间:2023-09-26

我正在为一个使用Google OAuth2的客户端构建Chrome扩展。该扩展是为他的公司高度定制的,旨在内部使用,出于安全原因,我应该只向他发送.crx文件,所以没有Chrome Web商店或主机或类似的东西。我已经在Google开发控制台上注册了扩展,并对接收到的客户端ID和API密钥进行了硬编码,以便OAuth访问应用程序。因此,自然地,扩展在开发中正常工作。然而,当我将打包的.crx文件发送到客户端,他将其安装在Chrome中时,他收到了以下错误:

  1. 这是个错误

错误:origin_mismatch

本机应用程序:HipLead扩展

您可以向此应用程序的开发人员发送电子邮件:jovandamjanovic@gmail.com

请求详细信息proxy=oauth2relay755552705 immediate=false范围=https://www.google.com/m8/feeds原点=铬-extension://hajhlcbhmjjihnbjhjabojkmonelialoresponse_type=令牌重定向_uri=postmessage状态=515453249 | 0.4168528853客户端id=898271544842-dhmt34v9rnu3mvbc0sgvobunnj3qciv.apps.googleusercontent.cominclude_grandted_scope=true我们只知道这些。

我知道这是一个错误,因为当他在自己的端上安装扩展时,他的本地副本有一个不同的id。在控制台中注册该id也不起作用,因为这需要我将新的客户端id插入硬代码中,然后重新打包文本,将其发送给他,这将生成第三个id等,但无法解决任何问题。我不能使用网络商店或在线服务器,如果可以的话,我希望避免在扩展中创建"配置"窗格,让他输入客户端id。在打包和发送完成的扩展之前,有没有办法预测id和硬代码?

不再支持通过CRX文件简单地将其拖动到扩展页面来安装扩展:[1][2],至少在Windows和OS X上是这样。

剩下两种方法,解压缩安装和企业安装。

无包装安装意味着只需将扩展提取到一个文件夹中,然后像开发时那样加载它。然后,ID确实会改变;但是有一种方法可以通过在清单中提供CCD_ 1字段来固定它。请参阅此常见问题条目中的更多详细信息。

然而,在一个严肃的企业环境中,这样的方法是完全不可接受的。"黄金标准"方法是安装企业策略。这将允许将CRX文件保留在某个内部服务器上,并从那里自动更新。你的客户需要认真考虑这个计划。