简述
@igloo-be/netlify-cms-lib-auth 是一个用于 Netlify CMS 应用程序的认证库,它使您能够在 Netlify CMS 应用程序中使用任何认证提供程序。本文将提供详细的使用教程。
安装
使用 npm 安装 @igloo-be/netlify-cms-lib-auth:
npm i -S @igloo-be/netlify-cms-lib-auth
配置
客户端配置
首先,将以下配置添加到 Netlify CMS 应用程序的 src/index.js 文件中。
import NetlifyCmsLibAuth from "@igloo-be/netlify-cms-lib-auth"; window.netlifyCmsLibAuth = NetlifyCmsLibAuth;
服务端配置
接下来,将以下代码添加到您的 Node.js Express 应用程序中:
-- -------------------- ---- ------- ----- ----------------- - ------------------------------------------ -------- -------------------------------- ------------------------------------- ---------- - -- ---------- -- -- --
认证提供程序
@igloo-be/netlify-cms-lib-auth 目前支持以下认证提供程序:
- GitHub
- GitLab
- Bitbucket
认证提供程序应按照以下示例格式进行构建:
-- -------------------- ---- ------- ----- - ------------ - - ------------------------------- -------------- - - ----- --------- ----- ---------------------- - ----- ------ - --- ------------- ---------------------- -------------------------- ------------------------ -- ----- ------ - ----- ---------------------- -------- --------------------- --------- ---------------------- --- ----- ------- - -------------------- ----- ---- - - ------ -------------- ----- ------------- ---------- ---------------- -- ------ ----- -- ----- --------------------- - -- ---- ------ -- --
在使用构建好的认证提供程序之前,请先将其添加到 @igloo-be/netlify-cms-lib-auth.createAuthHandler 构造函数中。
配置 Netlify CMS
最后,在 Netlify CMS 配置文件中添加以下内容:
backend: name: git-gateway branch: master # Git 分支名称 repo: owner/repo # 存储存储库的 URL site_domain: example.com # 网站域名 auth_endpoint: /.netlify/functions/authorize # 认证 endpoint
示例
以下是一个完整的示例,演示如何使用 GitHub 作为认证提供程序:
index.js
-- -------------------- ---- ------- ------ ----- ---- -------- ------ -------- ---- ------------ ------ --- ---- ------------------ ------ ----------------- ---- --------------------------------- ------------------------ - ------------------ ----- ------------------ - - ----- --------- ----- ---------------------- - -- -- --- --- ----- --- ---- -- -- ---- --- ----------- -- --- ------ - ---- ------- ----- ---- - - ------ -------------------- ----- ----- ----- ---------- ------------------------------------------------------- -- ------ ----- -- ----- --------------------- - -- ------ ---- -- ----- ----- -- ------- --- ------- -- -------------- ------ ----- -- -- --------------------------------------------- -- -- - ---------- -------- - ----- -------------- ------- --------- ----- ------------- ------------ -------------- -------------- -------------------------------- -- ------------- ---------------- ------------ - - ----- ------- ------ ------- ------- --------------- ------- ----- ----- -------------------------------------- ------- - - ----- -------- ------ -------- ------- -------- -- - ----- ------- ------ ------- ------- ---------- -- -- -- -- --- ---
server.js
-- -------------------- ---- ------- ----- ------- - ------------------- ----- ----------------- - ------------------------------------------ ----- --- - ---------- ------------------------ ----- ------------------ - - ----- --------- ----- ---------------------- - ----- ---- - ----- ------------------------------------ - -------- - -------------- ------ ----------------------------- -- ------------------ -- ----------------- ------ - ------ ----------- ----- ---------- ---------- ---------------- -- -- ----- --------------------- - -- ---- ------ -- -- -------- -------------------------------- ------------------------------------- ---------- --------------------- -- -- ---------------- -- -- - -------------------- -- ------- -- ---- ------- ---
总结
希望通过本文的阐述,能够帮助您更好地理解 @igloo-be/netlify-cms-lib-auth 的使用方法。通过该库,您可以更加灵活地使用任何认证提供程序,并且可以轻松地将它集成到现有的 Netlify CMS 应用程序中。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60066b5451ab1864dac66957