最新历史版本 :前台单点登录接口 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

本文将介绍产品支持的单点登录接口。

注:我们提供帆软单点相关的官方接口,只解决官方接口调用相关的问题。若用户在实际操作过程中,出现非接口之外的错误,请联系用户公司的技术人员进行排查解决。

2. 前台单点登录编辑

需要将用户名及密码等信息放在 url 后面进行登录验证,配合 iframe 或者 ajax 可实现前台的跨域单点登录行为。只需要在用户的登录页面加上该接口的调用,后台无需进行适配。需要用户系统的账号和密码与帆软平台账号密码相同。

2.1 接口介绍

FineReport 报表系统实现前台单点登录有 2 种方式:iframe 方式Ajax 方式

不论哪一种登录方式,FineReport 报表系统都为用户提供了统一的接口,接口如下所示:

注:该接口为 get 请求。

http://localhost:8080/webroot/decision/login/cross/domain?fine_username=XX&fine_password=XX&validity=
-2&callback=

参数说明如下表所示:

参数是否必须备注
fine_username用户名
fine_password密码
encrypted

密码是否是加密后的密文

值为true:

必须对用户输入的密码进行 AES 加密后才能正常使用接口

注:推荐不加密,无需在接口中使用该参数

validity

值为-2:

表示保持登录,保持登录就是 14 天的时间

值为-1:

非保持登录,时长跟随:管理系统>系统管理>登录>登录超时时间

注:单点登录时保持登录,将参数 validity 的值改为 -2

callback-

在浏览器中输入 URL :http://localhost:8075/webroot/decision/login/cross/domain?validity=-1&fine_username=账号&fine_password=密码,如果返回  success 代表单点接口调用成功,如图所示:

2.png

2.2 其他说明

其他说明如下所示:

  • 该接口不仅可用来做单点登录,也可用作自定义登录界面。更多接口内容请参考:决策平台在线接口文档

  • 需在平台关闭名为「内容嗅探攻击防护」的按钮,如果是内嵌的 iframe ,还需要关闭「点击劫持攻击防护」按钮。按钮介绍请参见:安全防护

  • 登录返回的 token 存储在 cookie ,确保浏览器没有禁用 cookie,同域的 OA 或者其他系统不能把 cookie 设置为HttpOnly。

  • 由于用户信息是在 url 上的,可能出现 URL 字符,建议使用 encodeURIComponent 进行一次编码。编码转换详情请参见:编码转换

  • 对于部分 IE 浏览器,需要将目标站点添加到受信任列表中。

2.3 Ajax 与 iframe 区别

iframe 方式和 Ajax 方式两种登录方式均可实现单点登录的跨域,但 Ajax 可以实现异步的单点登录,并且可对报表系统验证的结果进行处理,如登录超时;但是 iframe 不可以异步处理,并且在进行报表验证的时候,无法对验证的结果进行处理。