前言
最近维护一个内部系统的时候,需要让所有请求都需要经过验证和授权,于是选择了 restify 这个轻量级的 Node.js RESTful Web Services 框架,它的开发简单且性能较好,并且可以通过添加插件满足各种扩展需求。
其中,restify-ad-auth 就是一个用于开启 RESTful API Active Directory 统一身份认证插件的 npm 包。该插件基于 Active Directory 权限控制,可以在 RESTful API 服务中方便地添加 Active Directory 身份认证。
本文将介绍 restify-ad-auth 的安装和基本用法,并提供示例代码。
安装
首先,必须先安装 Node.js 和 NPM。命令行执行以下命令即可安装 restify-ad-auth:
npm install restify-ad-auth
使用方法
在应用代码中,使用以下方式引入 restify-ad-auth 模块:
const restify = require('restify'); const auth = require('restify-ad-auth');
然后,在 app 中增加以下代码即可使用 restify-ad-auth 插件:
-- -------------------- ---- ------- -- -- ----- ---- - ----- -- ----- ----- ------ - ----------------------- -- ------- ------ -------------------------------------------- -- ---- ----------------- ----- - ---- --------------------------- ------- ----------------------- -- ---- -- ------- ------------------- -- -- - ------------------- --- ------ -------- -- ---- ---------- ---
在 auth
中设置 LDAP 连接参数。如果您使用的是自己的 Active Directory 服务器,需要将 URL 和 baseDN 更改为您自己的设置,以便正确配置此插件。
示例代码
完整的示例代码如下:
-- -------------------- ---- ------- ----- ------- - ------------------- ----- ---- - --------------------------- -- -- ----- ---- - ----- -- ----- ----- ------ - ----------------------- -- ------- ------ -------------------------------------------- -- ---- ----------------- ----- - ---- --------------------------- ------- ----------------------- -- ---- -- --- --- ----------------------- ----- ---- ----- -- - ----------------------- ------------- - -------- ---- --- ---- --------- --- ------ ------- --- -- ---- --- ------------------------ ----- ---- ----- -- - ----------------------- ------------- - -------- ---- ---- ---- --------- --- ------ ------- --- -- --- --- ----------------------- ----- ---- ----- -- - ----------------------- ------------- - -------- ---- --- ---- --------- --- ------ ------- --- -- ------ --- ----------------------- ----- ---- ----- -- - ----------------------- ------------- - -------- ---- ------ ---- --------- --- ------ ------- --- -- ------- ------------------- -- -- - ------------------- --- ------ -------- -- ---- ---------- ---
以上示例代码中,我们注册了四个不同的 RESTful API,用于测试 GET、POST、PUT 和 DELETE 请求。您可以根据自己的需要更改这些路径,该插件会在每个请求中将用户的相关信息传递给我们代码中的响应部分。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6005532181e8991b448d073a