jBASE 的 JWT 身份验证 RESTful API
JWT authentication for jBASE RESTful API
我们正在使用 Angular 设计前端应用程序,它将通过 RESTful API 调用 jBASE 服务器。 API 是从名为 jAgent 的 jBASE 组件创建的。
- jAgent 是否支持创建和验证 JWT?
- 如果不是,处理 Angular 应用程序的 authentication/authorization 的最佳方法是什么?
- 如果我们需要使用 JWT,是否必须为此使用身份验证中间件应用程序(.NET Core 或 node.js)?
好问题!目前 jAgent 中没有处理程序,我们的建议是通过 HAproxy or Kong.
等其他应用程序实现此功能和高级 Web server/API 网关技术
扩展 jAgent 功能以包括这样的东西是我们仍在考虑的事情,但请记住,jBASE 的强大之处在于它与主机的本机交互OS。由于没有虚拟 OS 层,因此可以更轻松地即插即用现成的东西来填充其他功能,这使您可以灵活地使用自己的工具。
总结:
- 暂时没有
- 使用现成的软件包作为您的 API 网关
- 以您选择的套餐为准
这将 jAgent 归入 API 层的管理,因为它存在于 PICK/jBASE 端,而现成的软件包管理您的 API 安全层。
给你的另一个注意事项——我注意到你在 HelpJuice 上托管的旧 jBASE 文档中包含了一个 link。值得一提的是,我们已将这些文档迁移到 docs.zumasys.com. You'll find the docs there to be more up to date, and also completely open sourced--part of the migration included their move to a GitHub repo,我们很高兴接受社区贡献。
作为参考,您提到的文章可在 https://docs.zumasys.com/jbase/connectivity/jagent/introduction-to-jagent-rest-services/ 找到。
更新:
我们的一位工程师有一个程序可以使用 openssl 为您生成令牌,您可以在 https://github.com/patrickp/wjwt.
找到该程序
You will need openssl installed on the machine and in the path.
The WJWT.TEST
program shows the usage. The important piece is the SECRET.KEY
which is your internal KEY
you use to sign the payloads.
When a user first authenticates you create the token with SIGN
. Claims are any items/fields you wish to save/store. Do NOT put sensitive data in here as it is viewable by anybody. The concept is we sign this with our key, give it back to the client. On future calls the client sends the token and we pull it and call the VERIFY
function which basically re-signs the payload and validates the signatures match. This validates the payload was not manipulated.
Activities such as expiration you would build into your code.
Long term we plan to take this library and refactor the code into our MVDB Toolkit
library with more functionality. That library is something we provide to jBASE customers at no additional charge.
我们正在使用 Angular 设计前端应用程序,它将通过 RESTful API 调用 jBASE 服务器。 API 是从名为 jAgent 的 jBASE 组件创建的。
- jAgent 是否支持创建和验证 JWT?
- 如果不是,处理 Angular 应用程序的 authentication/authorization 的最佳方法是什么?
- 如果我们需要使用 JWT,是否必须为此使用身份验证中间件应用程序(.NET Core 或 node.js)?
好问题!目前 jAgent 中没有处理程序,我们的建议是通过 HAproxy or Kong.
等其他应用程序实现此功能和高级 Web server/API 网关技术扩展 jAgent 功能以包括这样的东西是我们仍在考虑的事情,但请记住,jBASE 的强大之处在于它与主机的本机交互OS。由于没有虚拟 OS 层,因此可以更轻松地即插即用现成的东西来填充其他功能,这使您可以灵活地使用自己的工具。
总结:
- 暂时没有
- 使用现成的软件包作为您的 API 网关
- 以您选择的套餐为准
这将 jAgent 归入 API 层的管理,因为它存在于 PICK/jBASE 端,而现成的软件包管理您的 API 安全层。
给你的另一个注意事项——我注意到你在 HelpJuice 上托管的旧 jBASE 文档中包含了一个 link。值得一提的是,我们已将这些文档迁移到 docs.zumasys.com. You'll find the docs there to be more up to date, and also completely open sourced--part of the migration included their move to a GitHub repo,我们很高兴接受社区贡献。
作为参考,您提到的文章可在 https://docs.zumasys.com/jbase/connectivity/jagent/introduction-to-jagent-rest-services/ 找到。
更新:
我们的一位工程师有一个程序可以使用 openssl 为您生成令牌,您可以在 https://github.com/patrickp/wjwt.
找到该程序You will need openssl installed on the machine and in the path.
The
WJWT.TEST
program shows the usage. The important piece is theSECRET.KEY
which is your internalKEY
you use to sign the payloads.When a user first authenticates you create the token with
SIGN
. Claims are any items/fields you wish to save/store. Do NOT put sensitive data in here as it is viewable by anybody. The concept is we sign this with our key, give it back to the client. On future calls the client sends the token and we pull it and call theVERIFY
function which basically re-signs the payload and validates the signatures match. This validates the payload was not manipulated.Activities such as expiration you would build into your code.
Long term we plan to take this library and refactor the code into our
MVDB Toolkit
library with more functionality. That library is something we provide to jBASE customers at no additional charge.