【问题标题】:ExtensionInstallSources in Chrome extensions for Enterprise policy适用于企业策略的 Chrome 扩展程序中的 ExtensionInstallSources
【发布时间】:2015-12-21 15:21:28
【问题描述】:

我们有 google chrome 扩展程序,需要在我们的组织内部使用。我们在那里有域名。

基于enterprise options,对我们来说最简单的方法是将其托管在某个内部 Web 服务器上,然后通过组策略将该内部站点的地址作为 ExtensionInstallSources 选项添加到用户 PC,但这对我不起作用。

我通过添加 Google Chrome 的 adm\admx 文件尝试了注册表和本地组策略更改。

这是我的注册表更改:

[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Google\Chrome\ExtensionInstallSources]
"1"="http://localhost/*"

当我检查 chrome://policy - 它显示它加载了此设置。但是当我打开http://localhost/myextension.crx - Chrome 仍然显示无法从那里安装扩展程序的错误...

我在 Windows 8.1 Enterprise (x64) 下使用 47.0.2526.106 m(64 位) 我在这里做错了什么?

我有更复杂的选项来下载 chrome source\pdbs,然后尝试调试它以了解它为什么不工作但可能需要很多时间,因为 Chrome 最初可以在 Windows 上编译几个小时构建....

【问题讨论】:

    标签: google-chrome google-chrome-extension enterprise


    【解决方案1】:

    所以显然这个注册表更改还不够。调试 chrome 源代码后,我发现它为什么不适合我。我错过了:

    1. referer 必须存在并且它也应该被列入白名单。因此,如果我通过直接链接打开我的扩展程序的 url,那么由于缺少引用 - 它不会安装它。 (哦,Chrome,至少你可以用消息说……)。如果我有链接到该扩展程序的网页,并且它也被列入白名单,那么它会正常工作。

    2. 第二个遗漏点是扩展程序 ID 必须存在于 ExtensionInstallWhitelist 中,否则 Chrome 会安装它,并且延迟 2-3 秒会禁用它。但是如果你把它列在 ExtensionInstallWhitelist 下,那就没问题了。

    所以我对 localhost 的最终注册表更改是:

    [HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Google\Chrome]

    [HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Google\Chrome\ExtensionInstallSources] "1"="http://localhost/*"

    [HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Google\Chrome\ExtensionInstallWhitelist] "1"="fhojekmcgnmkdbcoegjdlojgfngkpak"

    我在 ExtensionManagement 类中长时间调试后发现它 - https://code.google.com/p/chromium/codesearch#chromium/src/chrome/browser/extensions/extension_management.cc&q=ExtensionManagement::IsOffstoreInstallAllowed&sq=package:chromium&type=cs&l=148

    【讨论】:

    • referer(Step-1)是什么意思?
    • 引用我的意思是链接到扩展的页面的 URL,因为该页面的 URL 是在 en.m.wikipedia.org/wiki/HTTP_referer 中传递的,它也应该被列入白名单
    • 只是想补充一点,您还应该将引用网页列入白名单!见bugs.chromium.org/p/chromium/issues/detail?id=516260#c15
    • 如果这对您不起作用,请检查您的 ExtensionInstallSources 值末尾是否有尾随空格。从上面的示例中,“1”="localhost*" 将起作用,而 "1"="localhost*" 将不起作用。道歉 - 知道这是一个非常古老的问题,但部分添加这个以提醒我未来的自己:-)
    猜你喜欢
    • 1970-01-01
    • 2011-01-31
    • 2014-05-09
    • 1970-01-01
    • 1970-01-01
    • 2011-08-28
    • 1970-01-01
    • 1970-01-01
    • 2019-03-20
    相关资源
    最近更新 更多