什么是 keycloak_user
keycloak_user 是一个用于 keycloak 用户读写操作的 npm 包。keycloak 是一个世界领先的开源身份和访问管理解决方案,可以用于管理用户与身份认证。keycloak_user 包基于 keycloak 的 REST API 构建,方便 node.js 开发者使用。
安装
通过 npm 安装 keycloak_user:
npm install keycloak_user --save
使用
初始化
在使用 keycloak_user 的任何方法之前,需要先初始化 keycloak_user。初始化方法包括 4 个参数:
const keycloakUser = require('keycloak_user'); const kcUserName = '<keycloak 用户名>'; const kcPassword = '<keycloak 用户密码>'; const kcBaseUrl = '<keycloak baseurl>'; const kcRealm = '<keycloak realm名>';
创建用户
创建新用户需要四个必填参数,分别为 username
, password
, email
, firstName
和 lastName
。其中 email
, firstName
和 lastName
是可选的。
示例代码如下:
-- -------------------- ---- ------- ----- -------- ------------ - ----- ---- - - --------- --------------- ------ ---------------------------------- ---------- ---------------- --------- --------------- --------- -------------- -- ----- ------------------------------ - -------------
如果创建成功,则返回新用户的数据。
获取用户
获取用户需要传入一个用户名(username
)参数,返回用户的完整数据。
示例代码如下:
async function getUser() { const user = await keycloakUser.getUser('testUserName'); console.log(user); } getUser();
更新用户
更新用户操作需要传入一个包含完整用户信息的对象,用于更新对应用户,其中 username 是必填参数。
示例代码如下:
-- -------------------- ---- ------- ----- -------- -------- - ----- ---- - - --------- --------------- ------ ----------------------------- ---------- --------------- --------- ------------- -- ----- ------------------------------ - ---------
删除用户
删除用户只需要传入用户的用户名(username
)参数。
示例代码:
async function remove() { await keycloakUser.removeUser('testUserName'); } remove();
获取所有用户
获取所有用户不需要参数,返回所有用户的数组。
async function getAllUsers(){ const allUsers = await keycloakUser.getAllUsers(); console.log(allUsers); } getAllUsers();
总结
通过上述示例代码我们可以看到 keycloak_user 的使用非常简单,且完全依赖于 keycloak 的 REST API。通过包装 API,我们可以用更优雅的方式进行用户管理。如果你正在构建一个基于 keycloak 的项目,keycloak_user 是一个需要考虑使用的工具包。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60066efe4c49986ca68d8b05