将Netlify的托管身份服务与自托管的Netlify CMS结合使用

时间:2018-09-04 22:44:35

标签: netlify netlify-cms

我将网站托管在自己的服务器上,并使用Netlify CMS。但是,我仍然想使用Netlify托管的Identity和Git Gateway服务,而不是运行自己的服务。

1 个答案:

答案 0 :(得分:1)

是的,那是可能的。首先,您将需要在Netlify中设置站点,并确保已打开并配置了Identity和Git Gateway服务。遵循Netlify CMS的常规“添加到您的站点”设置,但是进行以下更改:

CMS config.yml发生变化

配置的backend部分应包含以下三个键。将my-site.netlify.com替换为您的Netlify网站URL。

backend:
  name: git-gateway
  identity_url: "https://my-site.netlify.com/.netlify/identity"
  gateway_url: "https://my-site.netlify.com/.netlify/git"

CMS index.html发生变化

假设您已经添加了Netlify Identity脚本(netlify-identity-widget.js),请将其删除,并使用同一软件包中的netlify-identity.js脚本。该脚本不会自动初始化,这使我们可以设置自己的参数。在管理页面和网站首页上都执行此操作。

<script src="https://identity.netlify.com/v1/netlify-identity.js"></script>

接下来,在管理页面和主页上的该脚本的正下方添加该脚本。同样,将my-netlify-site.com替换为您的Netlify网站URL。

<script>
  if (document.readyState === "loading") {
    document.addEventListener("DOMContentLoaded", function () {
      netlifyIdentity.init({
        APIUrl: "https://my-site.netlify.com/.netlify/identity"
      });
    });
  } else {
    netlifyIdentity.init({
      APIUrl: "https://my-site.netlify.com/.netlify/identity"
    });
  }
</script>