## 模拟windows环境调试 as_server.exe是模拟单点登录文档说明中的产生随机数和验证票据两个接口。 双击程序,在10318端口启动http监听模拟服务。 【注】当测试验证票据结果xml中用户标识rmsid为定制格式时,模拟程序启动方式 打开cmd命令行工具,执行as_server.exe -ticketFlag=false ## 模拟linux64位服务器调试 上传文件as_server 到测试服务器,需要执行以下两步运行: root用户执行命令 1)chmod +x as_server 2)./as_server 执行运行后,在10318端口启动http监听模拟服务。 1 产生随机数(本机IP必须为实际地址,不能为127.0.0.1,应用调用者应支持该IP可配置,实际部署环境该IP为身份认证服务器的IP地址) 服务url: http://本机IP:10318/GeneratorChallenge 通过 发送 POST 请求获取响应结果中的随机数 2 验证票据(注意url与文档身份认证服务应用单点登录接口中保持一致) 服务url: http://本机IP:10318/VerifyIdentityTicket 发送POST 请求数据 服务端调用模拟接口产生的随机数 终端浏览器websocet获取的票据xml tokeninfo元素内容 app server id,支持可配置的一个参数 返回模拟数据后,解析获取rmsid用户标识,与应用系统中保存的用户属性进行匹配,查找出当前用户。 返回固定的模拟数据 PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHZlcmlmeWlkZW50aXR5dGlja2V0cmVzdWx0IHZlcnNpb249IjEiPgoJPHJlc3VsdD4wPC9yZXN1bHQ+Cgk8Y2hhbGxlbmdlPlIxPC9jaGFsbGVuZ2U+Cgk8ZXJyb3I+PC9lcnJvcj4KCTx1c2VyaW5mbz4KCQk8cm1zaWQ+NTlhNTAwNWUtMzIwYy00ZDQzLThjODAtNWI1ZGJmN2FmMzc1PC9ybXNpZD4KCQk8bmFtZT48L25hbWU+CgkJPGNlcnQ+PC9jZXJ0PgoJCTxjZXJ0aW5mbz48L2NlcnRpbmZvPgoJCTxhZGRyZXNzPjwvYWRkcmVzcz4KCQk8YXBwYWNjb3VudD48L2FwcGFjY291bnQ+Cgk8L3VzZXJpbmZvPgoJPGFzaW5mbz4KCQk8bmFtZT48L25hbWU+CgkJPGNlcnQ+aXNzdWVyIGNlcnQ8L2NlcnQ+CgkJPGNlcnRpbmZvPjwvY2VydGluZm8+CgkJPGFkZHJlc3M+PC9hZGRyZXNzPgoJPC9hc2luZm8+Cgk8dGltZT4yMDE4LTAzLTA4IDA5OjQ1OjI4PC90aW1lPgoJPHNpZ25hdHVyZSBvaWQ9IjEuMi4xNTYuMTk3LjEuMTAwMC4xMSIgZGVzYz0iWFpNUyIvPgo8L3ZlcmlmeWlkZW50aXR5dGlja2V0cmVzdWx0Pg== dGlja2V0IHNpZ24gZGF0YQ== == 解析过程== 1)先对响应数据进行签名验证(该步可暂时跳过) 验证过程: signature 元素内容解base64编码后,得到签名值的byte数组内容; result元素内容解base64编码后,得到原文值的byte数组内容; 调用CipherAPI提供的验签接口,将签名值byte数组,原文值byte数组,AS服务的签名证书解析后的公钥值作为接口参数,调用后判断是否验证成功。 验证成功后再进行下一步解析,验证失败提示用户登录失败,票据签名未验证通过。 2)对result元素内容解base64得到原文数据,另一个xml格式 0 R1 59a5005e-320c-4d43-8c80-5b5dbf7af375
issuer cert
解析userinfo下的rmsid元素值,【59a5005e-320c-4d43-8c80-5b5dbf7af375】为用户同步模拟工具推送的【测试人员1】用户标识。 在判断该用户已经在应用系统中存在时,允许用户登录应用系统,完成单点登录。