JWT

关于JWT

  • Json web token (JWT), 是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准.该token被设计为紧凑且安全的,特别适用于分布式站点的单点登录(SSO)场景。JWT的声明一般被用来在身份提供者和服务提供者间传递被认证的用户身份信息,以便于从资源服务器获取资源,也可以增加一些额外的其它业务逻辑所必须的声明信息,该token也可直接被用于认证,也可被加密。
  • 官网:https://jwt.io/

使用JWT单点登录到Steedos应用中

  • 华炎合同管理系统为例,在本地启动合同管理系统访问地址为http://127.0.0.1:5000
  • 进入系统后在设置-高级里新建OAuth2应用, 客户端ID作为生成JWT的payload.iss的值,密钥则作为生成JWT时的secret值,这两个字段的值需要提供给其他系统保存以生成JWT
  • 生成JWT过程如下,以nodejs为例:
var jwt = require('jsonwebtoken');
var username = 'Administrator'; // 用户名用于识别当前用户身份
var iss = 'e37DceLdtx2Qedc6o'; // OAuth2应用的客户端ID
var secret = '7q5G21ymbDxqBcAFzyKPro84FKDN6FclMOkz5rZ_kUg'; // OAuth2应用的密钥
var redirect_url = 'http://127.0.0.1:5000/app/admin/OAuth2Clients/grid/all'; // 跳转地址
var token = jwt.sign({ username: username, redirect_url: redirect_url, iss: iss }, secret);
console.log('token: ', token);
  • 生成好token之后即可访问单点登录接口GET /jwt/sso,并设置query参数如:
fetch('http://127.0.0.1:5000/jwt/sso?jwt_token=xxxxxxxxx', {
})
  • 请求成功则会跳转到redirect_url,完成单点登录
对于华炎魔方有疑问??
微信扫描二维码,我们的技术专家会为您解答。

我们的技术专家拥有十年以上的管理软件开发经验,无论您询问有关华炎魔方的功能、定价、实施或任何其他方面的问题,他们都将随时准备为您提供帮助。

华炎魔方

华炎魔方是新一代低代码平台,基于商业智能和模型驱动,可以按照业务部门的需求,轻松便捷地创建智能化、移动化、个性化的应用程序。

© 2020 华炎软件. 保留所有权利.