npm 包 @apim/auth0-lock-redux 使用教程

阅读时长 6 分钟读完

在前端开发中,用户认证和授权是必不可少的一部分。而 Auth0 是一个相当流行的用户认证和授权平台。而 @apim/auth0-lock-redux 是针对 Auth0 的一个 Redux 绑定库,可以帮助我们在 React 中更加方便地使用 Auth0。本文将介绍如何使用 @apim/auth0-lock-redux 完成用户认证和授权。

安装

在使用 @apim/auth0-lock-redux 之前,需要安装 Redux 和 React-Redux。可以通过 npm 进行安装:

然后再安装 @apim/auth0-lock-redux:

配置

在使用 @apim/auth0-lock-redux 前,需要先对 Auth0 进行相关配置。在 Auth0 管理界面中,可以创建一个应用程序,并获取相关的配置信息,如下所示:

这里需要注意的是,redirectUriaudience 都需要在 Auth0 管理界面中进行配置。

然后,在 Redux 中需要添加相应的 reducer。可以使用 combineReducers 方法将 @apim/auth0-lock-redux 的 reducer 和其他 reducer 组合起来:

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

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

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

使用

首先需要在 UI 上使用 ReactReduxAuthLock 组件进行渲染。ReactReduxAuthLock 组件接受 auth0ConfigredirectUrl 作为 props,以及一个 onAuthenticated 回调函数:

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

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

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

当用户进行认证时,onAuthenticated 回调函数将会被触发,并传入一个包含用户信息的 auth 对象。

同时,还可以使用 requireAuthentication 高阶组件来进行路由保护。requireAuthentication 接受两个参数:WrappedComponent 和一个可选的 fallbackComponent,如果用户未进行认证,则会使用 fallbackComponent 进行替代:

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

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

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

在路由中使用 AuthProfile 即可进行路由保护。

完整代码示例

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

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

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

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

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

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

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

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

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

总结

使用 @apim/auth0-lock-redux 库可以大大简化用户认证和授权的操作。通过本文的介绍,相信读者已经了解了如何使用 @apim/auth0-lock-redux 进行用户认证和授权。在实际开发中,可以根据自己的需求进行相应的配置和扩展。

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

纠错
反馈