npm 包 angular2-http-auth 使用教程

阅读时长 7 分钟读完

在前端开发中,经常需要使用到 ajax 请求来获取数据,而有些请求需要认证才能够获取到数据。angular2-http-auth 是一款用于 Angular2 的 http 认证包,可以帮助我们实现认证功能。

安装

你可以使用 npm 从 NPM 安装 angular2-http-auth:

使用

  1. app.module.ts 中引入 HttpClientModule 和 HttpAuthModule

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

    注意:一定要在 HttpAuthModule 的 forRoot() 函数中调用 HttpAuth.init()。

  2. 在组件中使用 HTTP

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

    在上面的示例中,我们分别使用 Http 和 AuthHttp 进行了两个请求。Http 是 Angular 自带的 http 模块,而 AuthHttp 则是 angular2-http-auth 提供的 http 模块,它会帮我们在请求的 headers 中添加认证信息。

    当我们使用 AuthHttp 的时候,angular2-http-auth 会自动处理生成 token 并发送请求的逻辑,我们不需要手动的去管理 token。

  3. 设置认证信息

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

    在这里,我们可以配置一些全局的认证信息,例如全局的请求头、登录地址、token 名称等等。在调用 AuthConfig.setAuthConfig() 之后,我们就可以在整个应用中使用 AuthHttp 进行认证请求了。

指导意义

使用 angular2-http-auth 可以使我们集中精力于业务开发,而不需要过多的关注认证部分逻辑。除此之外,还能大幅度提高我们的开发效率和代码可读性。

示例代码

上面提到了一些示例代码,这里分享下完整的示例:

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

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

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

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

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

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

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

纠错
反馈