finereport10如何单点登陆到OA访问oa的文件,需先获取到oa的token

finereport10如何单点登陆到OA访问oa的文件,需先获取到oa的token

FineReport 帆软用户NH3P42dwmt 发布于 2023-11-10 10:24
1min目标场景问卷 立即参与
回答问题
悬赏:0 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共1回答
最佳回答
0
尛鬼Lv5中级互助
发布于2023-11-10 10:29

你的是泛微的OA嘛?js访问OA接口,获取token,然后通过返回的token继续调用oa的单点登陆接口

  • 帆软用户NH3P42dwmt 帆软用户NH3P42dwmt(提问者) 大佬,是泛微的,但是JS我不太会 我写了一个发现有问题
    2023-11-10 10:30 
  • 尛鬼 尛鬼 回复 帆软用户NH3P42dwmt(提问者) FR.ajax({ url: //\"获取token\", data: { xingming: name, }, dataType: \"jsonp\", //跨域采用jsonp方式 //jsonp:\"callback\", timeout: 50000, //超时时间(单位:毫秒) success: function(data) { //单点登陆 } }
    2023-11-10 10:33 
  • 帆软用户NH3P42dwmt 帆软用户NH3P42dwmt(提问者) 回复 尛鬼 好的 我看一下,谢谢大佬
    2023-11-10 10:34 
  • 尛鬼 尛鬼 回复 帆软用户NH3P42dwmt(提问者) 我是自己做了个后台接口,用来获取token的,然后帆软调用自己写的接口,返回的token再通过oa的token单点登录实现跳转
    2023-11-10 10:36 
  • 帆软用户NH3P42dwmt 帆软用户NH3P42dwmt(提问者) 回复 尛鬼 // 创建XHR对象 var xhr = new XMLHttpRequest(); // 配置请求参数和请求头部 var url = \"https://api-oa2021.jncapp.cn/ssologin/getToken\"; // 泛微OA登录接口 var params = \"loginid=xxx&userpassword=xxx\"; // 登录名和密码 xhr.open(\"POST\", url, true); xhr.setRequestHeader(\"Content-type\", \"application/x-www-form-urlencoded\"); // 发送请求 xhr.send(params); // 处理响应结果 xhr.onreadystatechange = function() { if (this.readyState == 4 && this.status == 200) { console.log(\"登录失败:999999\" ); var response = JSON.parse(xhr.responseText); // 解析接口返回的JSON数据 console.log(\"登录失败:999999\" +response ); if (response.code == 0) { // 假设返回的Token字段为token var token = response.token; // 将Token拼接到链接中 var fileUrl = \"https://oa2021.jncapp.cn/spa/document/index.jsp?id=240081\"; // 要访问的文件链接 var tokenizedUrl = fileUrl + \"?token=\" + token; // 使用拼接后的链接访问文件 window.open(tokenizedUrl); } else { console.log(\"登录失败:\" + response.msg); } } };
    2023-11-10 10:43 
  • 2关注人数
  • 751浏览人数
  • 最后回答于:2023-11-10 10:29
    请选择关闭问题的原因
    确定 取消
    返回顶部