1. 概述
本文汇总了单点登录常见问题的解决方案以及注意事项,帮助与指导用户快速找到想要的答案。
相关文档链接:
相关问题如下表所示:
2. 注意事项
2.1 cookie 禁用
可能在某些情况下禁用了浏览器cookie,从而导致登录失败。不同的浏览器启用cookie的方法有所不同,给出常见的IE、Chrome以及Firefox设置的截图,碰到其他的搜索一下开启即可。需要注意的一点是,如果浏览器设置了退出时清除cookie,那么保持登录的功能将不可用,每次都需要重新登录。如下图所示:
2.2 隐私与安全策略
对于某些版本的IE(多见于9/10)其隐私策略决定了如果有将决策平台嵌入到其他OA系统或者有放到 iframe 中这种场景,是无法直接正常写入cookie 的。我们需要将站点加入到受信任站点中或者调低隐私级别。注意的是加入的地址不能为 localhost 或者 127.0.0.1。
2.3 HttpOnly
在特殊情况下 cookie 被设置为 httponly 之后,JS 就无法读取到 token,请求头上无法正确的携带 token,导致认证失败。而且这种情况下直接回到登录页重新登录也是不能解决问题,没有保持登录的情况下,关掉浏览器重新打开就行了。如果 cookie 设置了失效时间那么就要手动清理。
2.4 URL编码
进行登录的时候,由于用户名和密码(是否有密码取决于登录方式)是直接放在 url 上的,如果其中有类似于/这种特殊字符会导致请求出问题。解决方法就是对参数使用 encodeURIComponent() 进行一次编码。
2.5 cookie存储
在登录成功之后,正常情况下需要存储两个内容。一个 fine_auth_token 用来存储登录成功后的 token,一个 fine_remember_login 用来存储是否保持登录,如果不能保持登录除了检查 token 外还需要看看这个是不是正常存储为 -2。