javascript - Mozilla Persona 签名数据字符串

标签 javascript mozilla persona

是否可以使用 Mozilla Persona 来签署数据(字符串、 token 等)?

我想使用 navigator.id.request() 传递一串数据,然后在不受信任的介质上传输断言并在验证时检索数据。

最佳答案

Persona/BrowserID 不是通用签名方案。为此,您可能需要查看 JSON Web Signature (JWS),它有多种语言的库支持。

navigator.id.request API不提供将任意数据传递到配置工作流程中的方法,因此标准 Persona JavaScript 无法完成此操作。您必须使用自定义 JavaScript 来提供带有自定义数据而不是公钥对象的配置回调。

如果您到目前为止,是否可以让身份提供者签署任意数据将取决于 IdP 软件如何处理公钥参数。 例如,Haskell persona 库不透明地对待公钥参数;它将验证任何任意 JSON“值”( see source )。

另一方面,如果 IdP 软件期望以 JavaScript 中介代码生成的格式解析有效 key 对象,那么您将无法对任意数据进行签名。

总而言之:如果您托管自定义 JavaScript 以将任意数据传递给 IdP 而不是公钥,并且如果 IdP 的软件将公钥视为不透明值,那么您可以对任意数据进行签名与 Angular 色的数据。

关于javascript - Mozilla Persona 签名数据字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27229398/

相关文章:

javascript - 标记过多时如何在谷歌地图上优化 MarkerWithLabel

javascript - jquery显示和隐藏图片

css - Loader CSS 适用于 Chrome 和 Safari,不适用于 IE 或 Firefox

firefox - 构建 GNU make 的 Cygwin 版本

javascript - 在 Mozilla Firefox 中使用 javascript 查找正文中的元标记

node.js - 无法使用 npm start 启动 Node 站点

javascript - 用于捕获 html 5/css 3 页面状态的工具,以便视觉设计人员可以进行更改

javascript - 如何替换部分样式背景:url in Blogger Widget