在 Web 应用程序开发中,安全性是很重要的一个问题。为此,Web Service Security 时间(WS-Security)被设计出来用于提供 Web 服务的数据机密性、可靠性和完整性。其中,WSSE 协议是 WS-Security 的一个子协议,作为 Web 服务通过 HTTP 提供安全解决方案的一种方法,常用于响应类型为 XML 或 JSON 的 API。
wsse-in-browser 是一个基于 crypto-js 的 npm 包,旨在为浏览器中的 WSSE 认证提供解决方案。本文介绍了该包的使用教程。
安装
在命令行中输入以下命令进行安装:
--- ------- ---------------
用法
在需要进行 WSSE 认证的地方引入模块:
------ -------------------- ---- ------------------
调用该模块的 createWsseAuthHeader()
方法,传入相应参数,即可生成 WSSE 认证头。该方法接受一个对象作为参数,包含以下属性:
username
: 必填,字符串类型,认证用户的用户名。password
: 必填,字符串类型,认证用户的密码。nonce
: 可选,字符串类型,随机数值,用于每次请求时生成新的 WSSE 认证头。默认值为一个基于时间戳生成的十六进制字符串。created
: 可选,字符串类型,WSSE 认证头创建的日期,默认值为当前时间。digest
: 可选,布尔类型,是否要对“密码”,“nonce”和“created”进行哈希处理,生成摘要值。默认值为true
。
下面是一个简单的使用情景:
----- ---------- - ---------------------- --------- ----------- --------- ----------- --- ------------------------ -- ------- -------------- -------------------- ---------------------------------------------- --------------------- -----------------------------------
示例代码
一个常见的使用情景是将认证头放入 HTTP 请求头中。下面是一个使用 fetch API 发起 HTTP 请求的示例代码:
----- -------- - ----------- ----- -------- - ----------- ----- -------- - ------------------------------- ----- ---------- - ---------------------- --------- --------- --- --------------- - ------- ------ -------- - --------------- ------------------- ---------------- ----------- -- -- -------------- -- ---------------- ---------- -- ------------------ ------------ -- ----------------------
经过 WSSE 认证的请求将会携带上面的认证头发送,保证了安全性。
来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/6005754781e8991b448ea4d7