1.当你做接口测试时生成了token,但进去成功页面后,在退回登录接口(ps:拦截器去校验数据库中用户,发现不存在)。2.或者报:无法获取认证头部信息(接口路径在拦截器中未配置) 3.用户不存在的时候(用户数据需存自身平台数据库中,后续拦截器会校验)。基本可以按照以下逻辑去排除错误。
第三方单点获取对方的用户信息完成后,用对方的用户信息生成我们的后台token。其中对方的信息需存入我们后台的用户表,因为我们自己的自定义的拦截器的用户校验业务那边,需要我们从自己的用户表里面获取信息和权限等。等用户存入我们数据库后,在用数据库中的用户信息生成token。这个token在每次请求我们后台接口的时候,我们的拦截器那边都会去校验这个token和token中的用户信息是否有效。
注意事项1.:手动登录请求接口第一次请求时不需要认证权限,但在登录成功后会去校验authorization(权限)。所以做自身平台单点登录,则需要和手动登录的接口一样去把接口路径暴露出,等生成token后,返回给前端后,他自己回去校验权限。
注意事项2:做第三方单点登录的时候,去获取对方的ticket(或者token时,需问清楚ticket或者token是否是一次性的登录之后就失效!)无效,可能是 根据通过中间页面成功跳转进去后,虽然返回登录界面但是ticket已经用过了所以ticket无效。备注:ticket只能用一次