如何将OAuth2客户端id与chrome扩展文件一起分发
How do I distribute OAuth2 client id with my chrome extension file?
我正在为一个使用Google OAuth2的客户端构建Chrome扩展。该扩展是为他的公司高度定制的,旨在内部使用,出于安全原因,我应该只向他发送.crx文件,所以没有Chrome Web商店或主机或类似的东西。我已经在Google开发控制台上注册了扩展,并对接收到的客户端ID和API密钥进行了硬编码,以便OAuth访问应用程序。因此,自然地,扩展在开发中正常工作。然而,当我将打包的.crx文件发送到客户端,他将其安装在Chrome中时,他收到了以下错误:
- 这是个错误
错误: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文件保留在某个内部服务器上,并从那里自动更新。你的客户需要认真考虑这个计划。
- 从安卓设备将图像上传到服务器时,文件扩展名错误
- 在上传之前,我可以在代码中的哪里将文件扩展名更改为小写
- TypeScript解释了各种文件扩展名
- 在javascript中检查文件扩展名的问题
- 如何使用office.js检查未保存文件的具体文件扩展名
- 用于检查文件扩展名不工作的Javascript If语句
- 忽略文件扩展名的正则表达式
- Apache poi XSSF创建Excel文件-Create返回格式或文件扩展名无效的空文件
- 可以't在不提供文件扩展名的情况下导入TypeScript模块
- Typescript从其他ts文件扩展类
- 根据文件扩展名应用CssClass
- 导入文件之前请检查文件扩展名
- 忽略文件扩展名jQuery之后的查询字符串
- 如何在Fine Uploader中隐藏文件扩展名
- 客户端的jQuery文件扩展名验证
- 文件扩展名正则表达式的节点参数
- 如何在Visual Studio 2010/2012中将自定义文件扩展名注册到JavaScript编辑器
- 在文件扩展名之前反复添加图像大小
- jQuery 示例:在文件扩展名不允许的情况下重置输入文件元素
- (Javascript)如何提取当前URL的最后一部分 - 没有文件扩展名