npm 包 generator-express-azuread 使用教程

阅读时长 8 分钟读完

npm 包 generator-express-azuread 是一个快速搭建基于 Express 框架的 Azure Active Directory 集成应用的工具。本文将介绍这个 npm 包如何正确使用,并提供示例代码以指导读者快速上手。

安装 generator-express-azuread

首先我们需要在全局环境下安装 Yeoman 和 generator-express-azuread 包,可以通过以下命令完成:

生成项目

  1. 执行 yo express-azuread,然后系统会提示填写一些基本信息,包括应用名称、应用 ID 等。

  2. 填写完这些信息后,系统会自动生成一个基于 Express 框架的 Azure Active Directory 集成应用的模板。

代码解析

下面是模板代码的解析,在此过程中我们会了解 generator-express-azuread 是如何为我们创建项目的:

index.js

这个文件是 Express 应用的入口,其中包括一些基本的配置,比如引入中间件、监听端口等。

-- -------------------- ---- -------
----- ------- - -------------------
----- ---- - ----------------
----- ------------ - -------------------------
----- ------ - ------------------

----- ----------- - --------------------------
----- ----------- - --------------------------

----- --- - ----------

---------------- -------------------- ----------
------------- -------- -------

-----------------------
------------------------
---------------------------- --------- ----- ----
------------------------
------------------------------------------- ------------

------------ -------------
----------------- -------------

----- ---- - ---------------- -- -----
---------------- -- -- -
  ------------------- ------- -- ---- ----------
---

-------------- - ----

routes/index.js

该路由文件处理应用的主页请求。

routes/users.js

该路由文件处理应用的用户请求。

views/index.ejs

该视图文件展示主页。

-- -------------------- ---- -------
--------- -----
------
  ------
    ---------- ----- ----------
    ----- ---------------- ----------------------------- --
  -------
  ------
    ------- ----- -------
    ---------- -- --- ----- ------
  -------
-------

public/stylesheets/style.css

该样式文件定义应用的样式。

集成 Azure Active Directory

生成项目后,我们需要在 Azure 上创建应用并获取相应的凭证信息,再将它们配置到应用中去,以实现与 Azure Active Directory 的集成。

下面的过程将指导你完成这些操作:

创建应用

  1. 登录 Azure 管理门户,在「应用注册」的页面中点击「新注册」按钮。

  2. 填写应用的名称、账户类型和重定向 URI。

  3. 注册成功后,在应用概况页面下可以看到应用程序 ID。

配置应用

  1. 在 Azure 管理门户的应用概况页面中点击「证书和秘钥」。

  2. 创建一个客户端密码,并保存该密码。注意,生成密码后要立即将其拷贝下来,因为它只会显示一次。

  3. 在应用代码中,在 config/config.json 中添加以下配置

-- -------------------- ---- -------
-
  ------- -
    ------------ -------------------------------------------
    ----------- -----------
    --------------- ----------
    --------------- -------
    --------------- ------------
    -------------- -------------------------------------------
    ----------------- ------
    -------------------- ------
    ---------------------------- -----
    -------- ----------- -----------------
  -
-

其中:

  • authority 表示授权服务器 URL;
  • clientID 表示应用程序 ID;
  • clientSecret 表示客户端密码;
  • responseType 表示响应类型;
  • responseMode 表示响应模式;
  • redirectUri 表示重定向 URI;
  • validateIssuer 表示是否验证 Issuer;
  • passReqToCallback 表示是否将 req 参数传递到后台回调函数;
  • useCookieInsteadOfSession 表示是否使用 Cookie 代替 Session;
  • scope 表示请求的 OAuth 范围。

配置路由

routes/index.js 中增加代码:

-- -------------------- ---- -------
-------------------------- ----- ---- ----- -- -
  ----- ------------- - --- ----------------
  ------------------------------- ---- ------
---

-----------
  ----------------------
  ---------------------------------------------- - ---------------- --- ---
  ----- ---- -- -
    ------------------
  -
--

routes/users.js 中增加代码:

使用示例

在完成以上配置后,我们就可以启动应用了。

在项目根目录下执行以下命令:

通过浏览器访问地址:

就可以看到我们生成的模板应用了。在地址栏输入 /signin-oidc,就可以使用 Azure Active Directory 登录了。登陆成功后,我们可以在 /users 路径下看到用户信息。在地址栏输入 /signout 就可以退出登录。

总结

这篇文章介绍了如何使用 npm 包 generator-express-azuread 快速搭建基于 Express 框架的 Azure Active Directory 集成应用。我们了解了如何生成项目,如何集成 Azure Active Directory,并提供了相应的代码解析和示例代码。相信通过本篇文章,读者已经对如何使用这个 npm 包可以有了一个相对深入的理解,可以更加高效地开发基于 Express 框架的 Azure Active Directory 集成应用了。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60055c2281e8991b448d9c02

纠错
反馈