Q:有插件和无插件集成的区别是什么,哪种方式更好一些?

A:这就得根据我们所用的协议来决定了:

- JWT 协议的流程是,浏览器在 IDaaS 中发起一个 SSO 请求的时候,IDaaS 会利用秘钥产生一个token ,然后将 token 放到请求里面作为参数 id_token 的值传到业务系统中去,业务系统就需要解析这个 token 进行身份识别,但是解析token 的关键就是需要集成我们提供的一个解析使用的 SDK,结合业务系统在 IDaaS 中添加应用的时候生成的一个不变的公钥,SDK+公钥才能对 token 进行校验识别;

- CAS 协议的流程是浏览器在 IDaaS 中发起一个 SSO 请求的时候 IDaaS 会产生一个一次性随机 code(类似于 JWT 中的 token )作为参数 code 的值传到业务系统,然后业务系统并不解析这个 code,而是通过一个 callback 回调在将其原封不动的传给 IDaaS , IDaaS 对这个code进行验证,如果是我们传过去的就说明请求合法,IDaaS 会将用户信息传给业务系统,如果不是就验证失败。

Q:每个用户登录后,系统会返回一个 token,这个 token 在我们服务器端是永远生效的还是我们要注销之后才会失效?业务系统怎么保持登录状态,是每次页面请求需要请求token 吗?

A:token 是有一定的时效的,业务系统得到我们的 token 后可以建立自己系统的 session 机制。session 当然有自己的 timeout 设定, 有了 session 以后,每次业务应用的访问和我们是无关的。每一次获取到 token 的请求 IDaaS 都会返回一个状态码,可以根据我们返回的状态码来判断 token 是否失效,如果失效就通过刷新 token 来重新获取 session 。

Q:JDK 版本问题,导致 jar 包无法使用?

A:根据 JDK 的版本提供了 3 个版本的 jar 包,1.8版本的可以直接导入 jar,并且添加依赖。JDK1.6或者JDK1.7需要手动导入相关的依赖 jar 包。请根据自己的 jdk 版本选择相对应的 jar 包。