我们正在使用 Angular 设计一个前端应用程序,它将通过 RESTful API 调用 jBASE 服务器。API 是从名为 jAgent 的 jBASE 组件创建的。
- jAgent 是否支持创建和验证 JWT?
- 如果不是,那么为 Angular 应用程序处理身份验证/授权的最佳方式是什么?
- 如果我们需要使用 JWT,我们是否必须为此使用身份验证中间件应用程序(.NET Core 或 node.js)?
好问题!目前 jAgent 中没有处理程序,我们的建议是通过HAproxy或Kong等其他应用程序实现这一点,以及高级 Web 服务器/API 网关技术。
我们仍在考虑扩展 jAgent 功能以包含此类功能,但请记住,jBASE 的强大之处在于它与主机操作系统的本机交互。由于没有虚拟操作系统层,因此可以更轻松地即插即用现成的东西来填充额外的功能,这使您可以灵活地携带自己的工具。
总之:
这将 jAgent 委托给 API 层的管理,因为它存在于 PICK/jBASE 端,而现成的包管理您的 API 安全层。
给您的另一条注释——我注意到您包含了一个指向 HelpJuice 上托管的旧 jBASE 文档的链接。值得一提的是,我们已将这些文档迁移到docs.zumasys.com。您会发现那里的文档更新得更及时,而且完全开源——迁移的一部分包括迁移到GitHub 存储库,我们很乐意在其中接受社区贡献。
作为参考,您提到的文章可在https://docs.zumasys.com/jbase/connectivity/jagent/introduction-to-jagent-rest-services/获得。
更新:
我们的一位工程师有一个程序将使用 openssl 为您生成令牌,您可以在https://github.com/patrickp/wjwt找到该程序。
您需要在机器上和路径中安装openssl 。
该
WJWT.TEST
程序显示了用法。重要的部分是您用来签署有效负载SECRET.KEY
的内部文件。KEY
当用户首次进行身份验证时,您使用
SIGN
. 声明是您希望保存/存储的任何项目/字段。不要将敏感数据放在这里,因为任何人都可以查看。这个概念是我们用我们的密钥签署这个,把它还给客户。在未来的调用中,客户端发送令牌,我们拉取它并调用VERIFY
基本上重新签署有效负载并验证签名匹配的函数。这验证了有效载荷没有被操纵。您将在代码中构建诸如到期之类的活动。
从长远来看,我们计划采用这个库并将代码重构到
MVDB Toolkit
具有更多功能的库中。该库是我们免费提供给 jBASE 客户的。