6.9 关于错误码的特别说明
这里列出了在用户集成过程中高频出现的一些错误,给出了对应的错误原因以及排查说明。这里的错误码指atrust_error_code,请区别于其他atrust_code.h中的枚举类型。全部错误码请参见atrust_code.h。
6.9.1 SDK库内部定义错误码
这部分错误码是在SDK库中定义的,包括接口参数错误、基本功能和流程错误等。
错误码 | 错误信息 | 详细描述及可能原因 | 解决建议 |
---|---|---|---|
10010 | 参数格式错误 | 如果参数是服务器地址,则原因同错误码20000 | 见下面20000 |
10013 | 路径格式错误或不存在 | 给定的路径在系统中不存在,或路径格式不正确 | 请严格检查给定的输入路径,是否有非法的空格等 |
20000 | 服务器地址格式错误 | 服务器地址支持schema+host或host+port或schema+host+port的形式,如果输入的地址不满足这几种格式或格式校验失败,则会返回该错误 | 检查开头或结尾是否携带空格,空格是不支持的 检查输入的地址是否只有ip或域名,如199.200.2.100就是不支持的,因为没有端口信息 |
20001 | 服务器未初始化 | 在调用登录等接口之前,没有正确调用初始化接口 | 检查是否调用过初始化接口 检查初始化接口是否返回了错误,比如上面的20000 |
20002 | 本地aTrust客户端连接错误 | SDK没有探测到本地安装的aTrust客户端 | 检查aTrust客户端是否未正常安装 确认接口调用时aTrust客户端是否正在安装过程中,如果是则等待安装结束再调用 检查aTrust客户端是否异常(比如安装失败或进程崩溃) 检查本地127的访问是否受限 |
20003 | 本地未安装aTrust客户端 | SDK检测到当前本地未安装aTrust客户端 | 集成CSSDK场景需要先安装aTrust客户端 |
20101 | 已有用户在线 | 使用非强制登录时,已经有用户在线了,所以新用户登录不成功 |
6.9.2 网络库错误码
这部分错误码是SDK库引用的网络库返回的错误码。
错误码 | 错误信息 | 详细描述及可能原因 | 解决建议 |
---|---|---|---|
1002 | 网络连接错误 | SDK库在试图连接aTrust客户端时发生了网络错误 | 检查SDK版本,并及时更新 检查本地防火墙设置 检查aTrust客户端进程是否异常 |
1004 | 网络读取错误 | SDK库与aTrust客户端连接成功,但读取数据时发生错误,可能是数据量太大导致了超时 | 检查SDK版本,并及时更新 检查127网络的访问是否受阻 |
6.9.3 aTrust客户端内部错误
这部分错误码是SDK在调用aTrust客户端相关功能时,aTrust客户端进程返回的。
错误码 | 错误信息 | 详细描述及可能原因 | 解决建议 |
---|---|---|---|
6 | curl库无法解析主机地址 | aTrust客户端连接控制中心时,无法解析控制中心的域名 | 检查初始化接口中设置的控制中心域名地址是否能够正常解析 |
28 | curl库访问超时 | aTrust客户端连接控制中心时,访问超时 | 检查初始化接口中设置的控制中心地址是否能够正常访问 检查地址是否配置错误 |
11119000 | aTrust客户端无法连接控制中心服务器 | SDK到aTrust客户端的请求成功,但aTrust客户端请求服务器时发生错误 | 检查客户端和服务器间的网络连接,并确保服务器在线 |
11119004 | 检测到中间人攻击 | aTrust客户端检测到向服务器的请求出现了中间人攻击 | 检查客户端到服务端间是否有https等代理 |
6.9.4 aTrust服务端返回的错误
- 认证登录流程服务端会动态返回错误码和错误信息。如果是服务端返回的错误码,则可对认证登录接口里面的出参进行转换,获取服务端返回的错误码和错误信息。(推荐使用此方式)
- aturst_error_string接口可将错误码转换成对应的错误描述(由于历史原因,如果返回的是atrust服务端错误码,
aturst_error_string
接口获取到的错误信息是SDK本地转换过的信息。如果服务端错误信息中包含动态参数,可能会导致服务端原始错误信息中的动态参数丢失)
错误码 | 错误信息 | 详细描述及可能原因 | 解决建议 |
---|---|---|---|
10000008 | 存在中间人攻击 | 服务端检测到与客户端的连接出现了中间人攻击。这个错误在很早的aTrust客户端版本中会误报 | 检查aTrust客户端版本,如果过旧请更新 |
73700002 | 不满足ACL策略 | 客户端不满足登录的ACL策略 | 检查服务端ACL配置 检查客户端环境是否满足上述配置 |
75500000 | 认证操作失败 | 认证失败,可能是认证参数错误,比如用户名密码错误等,也可能是其他错误 | 检查用户名密码是否正确,重点检查大小写是否正确,以及是否有多余的空格 检查用户是否过期或不存在 检查用户是否混淆,比如用户Sample123和sample123是不同的用户 检查控制中心是否开启了图形验证码(SDK不支持) |