npm 包 "get-keycloak-public-key-with-agent" 使用教程

阅读时长 4 分钟读完

在使用 Keycloak 进行认证的前端网站中,公钥是用来验证 token 的重要一环,但是每次都向 Keycloak 发送请求获取公钥会对后端服务器造成很大的负担。此时,我们可以使用 npm 包 "get-keycloak-public-key-with-agent" 来缓存公钥并减轻后端服务器负担。

什么是 "get-keycloak-public-key-with-agent" 包

"get-keycloak-public-key-with-agent" 是一个使用 Node.js 编写的 npm 包,可用于从 Keycloak 获取公钥,并在本地进行缓存。它使用了一种代理模式,当第一次请求公钥时,它会从 Keycloak 获取,并在本地进行缓存。当之后再次请求时,它会返回本地缓存的公钥。由于缓存是在内存中进行的,因此它可以快速地响应请求。

如何使用 "get-keycloak-public-key-with-agent" 包

安装

要使用 "get-keycloak-public-key-with-agent" 包,首先需要将其安装到项目中。通过 npm 或 yarn 安装:

导入并使用

导入 "get-keycloak-public-key-with-agent" 包:

初始化并从 Keycloak 获取公钥:

在第一次调用 getPublicKey 时,将会从 Keycloak 获取公钥,并在本地进行缓存。之后的调用会返回本地缓存的公钥。

示例代码

下面是一段使用 "get-keycloak-public-key-with-agent" 包的示例代码,首先创建一个 express 应用,然后使用 express-jwt 中间件来验证 JWT。使用 "get-keycloak-public-key-with-agent" 包来获取公钥,并将其传递给 express-jwt 中间件使用:

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

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

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

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

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

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

结论

"get-keycloak-public-key-with-agent" 包可以为使用 Keycloak 进行认证的前端应用增加性能,减轻后端服务器负担。通过使用该包,我们可以缓存公钥,并快速响应请求。

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

纠错
反馈