1、OneLogin(一键登录 APP)

服务端返回码

返回码 描述 处理建议
200 请求成功
500 从运营商获取结果失败 1、电信卡报错500,确认一下authcode参数是否有上传;
2、提供process_id,结合日志记录查询失败原因
12000 process_id为空 1、用户没有传process_id这个参数;
2、请求参数格式非json导致无法识别
12001 token为空 用户未传该字段
12002 sign为空 用户未传该字段
12003 process_id不为32位 process_id不合法,需使用客户端回传process_id
12004 is_phone_encode参数错误 is_phone_encode不是bool类型
12005 时间戳不正确 1、时间戳单位不是毫秒;
2、时间戳与请求时间误差超过10分钟
12006 运营商配置错误 按文档要求传参
12007 源IP不在报备白名单中 检查应用申请时报备ip白名单列表是否包含当前服务器
12100 process_id不存在 1、process_id过期,需重新请求新的process_id;
2、检查sdk版本并联系客服详细处理
12101 process_id已使用过 process_id重复使用,无论验证失败或者成功,都需要重新预取号获取并使用新的process_id
12102 未查询到对应的app_id 1、未上传appid;
2、检查sdk版本并联系客服详细处理
12103 查询到对应的app_id不正确 检查当前应用申请app_id是否是onelogin产品的appid
12104 余额不足 后台无余额,联系商务充值
12105 签名错误 1、检查是否未上传时间戳;
2、检查加密方式是否错误
12109 sign错误 1、sign的加密方式不是sha256加密方式;
2、sign加密使用的appid和客户端使用的appid不一致;
3、sign加密使用的appid和APPkey是否正确;
4、参与签名的时间戳单位需要是毫秒,且长度必须为13位;
5、根据加密文档进行查看
12200 token失效 1、获取token到使用间隔时间太长,token有效期 2分钟;
2、token重复使用,需重新获取

Android返回码

返回码 描述 处理方式
-20101 app_id 未传,调用 SDK 时传入的 APPID 为空 调用初始化init接口时传入正确的 APPID 参数
-20102 没有调用预取号接口或者预取号内部还没初始化完成就调用了取号接口 1、进阶逻辑下分开调用registerpreGetToken接口 2、常规逻辑下等preGetToken收到正确的回调后再调用requestToken接口
-20105 预取号超时或者拉起授权页超时,网络信号较差或者配置的超时时间较短 1、在网络信号较好的地方重试 2、修改 SDK 超时时间配置,适当延长超时时间
-20106 取号时用户切换了数据流量或者更换了 SIM 卡 1、进阶逻辑下检测到该错误码后关闭授权页,提醒用户重新拉起授权页登录(内部会重新预取号) 2、常规逻辑下检测到该错误码后关闭授权页,重新预取号
-20501 调用初始化init接口时传入的context参数为空 调用初始化init接口时传入正确的context参数
-20502 1、授权页 UI 配置错误
2、集成 SDK 时丢失了部分内部资源文件
1、调用requestToken接口时传入正确的oneLoginThemeConfig参数,确认使用到的图片资源存在 2、使用文档中推荐的集成方式集成 SDK,不要解压 aar 文件单独集成 jar 包 3、检测 logcat 错误日志,查看配置出错原因
-20503 授权页 UI 配置错误,可能资源文件找不到,导致授权页加载异常 1、调用requestToken接口时传入正确的oneLoginThemeConfig参数,确认使用到的图片资源存在 2、使用文档中推荐的集成方式集成 SDK,不要解压 aar 文件单独集成 jar 包 3、检测 logcat 错误日志,查看配置出错原因
-20200 当前网络不可用,可能手机未开启数据流量与 WIFI 网络 打开数据流量后重试
-20201 手机未插入 SIM 卡或者在模拟器中运行 建议在支持 SIM 卡的且数据网络访问正常的移动设备上重试
-20202 手机未开启数据网络或者在模拟器中运行 建议打开数据流量后重试
-20203 使用纯流量卡或者非国内三大运营商手机卡 使用国内三大运营商电话卡尝试
-20301 用户在授权页点击了返回键退出授权页 等待用户重新拉起授权页登录
-20302 用户在授权页点击了标题栏返回按钮退出授权页 等待用户重新拉起授权页登录
-20303 用户在授权页点击了切换账号按钮 关闭授权页,等待用户选择其他登录方式或者重新拉起授权页登录
-40101 移动 SDK 预取号失败,具体见移动运营商错误码章节 参考移动运营商错误码处理方式处理
-40201 联通 SDK 预取号失败,具体见联通运营商错误码章节 参考联通运营商错误码处理方式处理
-40301 电信 SDK 预取号失败,具体见电信运营商错误码章节 参考电信运营商错误码处理方式处理
-40102 移动 SDK 取号失败,具体见移动运营商错误码章节 参考移动运营商错误码处理方式处理
-40202 联通 SDK 取号失败,具体见联通运营商错误码章节 参考联通运营商错误码处理方式处理
-40302 电信 SDK 取号失败,具体见电信运营商错误码章节 参考电信运营商错误码处理方式处理
-50100 网络异常或者产品 APPID 与包名包签名不匹配,导致 SDK 内部请求 pre_get_token 接口返回异常 1、检测网络访问情况,正常上网时重试 2、检测产品 APPID 与后台配置的包名包签名是否匹配
-50101 网络异常或者产品 APPID 与包名包签名不匹配,导致 SDK 内部请求 pre_get_token 接口解密失败 1、检测网络访问情况,正常上网时重试 2、检测产品 APPID 与后台配置的包名包签名是否匹配

iOS返回码

错误码 描述 处理方式
-20101 app_id 未传,或者 OneLoginOneLoginPro 逻辑混用 1、请先调用 registerWithAppID: 方法传入 appId;2、请确认是否调用了 OneLoginregisterWithAppID: 方法后又使用了 OneLoginProrequestTokenWithViewController:viewModel:completion: 方法,或者调用了 OneLoginProregisterWithAppID: 方法后又使用了 OneLoginpreGetTokenWithCompletion: 方法,OneLoginOneLoginPro 不能混用
-20102 没有预取号就进行取号 1、常规逻辑,请先调用 preGetTokenWithCompletion: 方法进行预取号,再调用 requestTokenWithViewController:viewModel:completion: 方法进行取号 2、进阶逻辑,请先调用 registerWithAppID: 方法,再调用 requestTokenWithViewController:viewModel:completion: 方法进行取号
-20105 预取号超时或者拉起授权页超时 1、在网络信号较好的地方重试 2、修改 SDK 超时时间配置,适当延长超时时间
-20106 取号时更换了 SIM 卡 更换到预取号时使用的 SIM 卡或者重新进行预取号
-20402 正在拉起授权页面,仍然调用 requestTokenWithViewController:viewModel:completion: 方法进入授权页面 若要重新拉起授权页面,请先关闭当前授权页面
-20403 AuthViewController 已经拉起的情况下,仍然调用 requestTokenWithViewController:viewModel:completion: 方法进入授权页面 若要重新拉起授权页面,请先关闭当前授权页面
-20404 当前正在预取号,再次调预取号接口 预取号结束后再调预取号接口
-20405 当前正在调用运营商接口取号,再次调取号方法 取号结束后再调用取号方法
-20200 当前网络不可用 请检查您的网络状态
-20202 当前没有开启蜂窝网路 请打开蜂窝移动网络
-20203 不支持的运营商,只支持中国移动、中国电信、中国联通三大运营商 请查看是否有插入 SIM 卡
-20302 点击授权页面按返回按钮退出授权页面 关闭授权页,等待用户重新拉起授权页登录
-20303 点击授权页面切换账号按钮 关闭授权页,等待用户重新拉起授权页登录或者直接使用其他方式进行登录
-40101 移动运营商预取号失败 参考移动运营商错误码处理方式处理
-40201 联通运营商预取号失败 参考联通运营商错误码处理方式处理
-40301 电信运营商预取号失败 参考电信运营商错误码处理方式处理
-40102 移动运营商取号失败 参考移动运营商错误码处理方式处理
-40202 联通运营商取号失败 参考联通运营商错误码处理方式处理
-40302 电信运营商取号失败 参考电信运营商错误码处理方式处理
-50100 SDK 内部请求 pre_get_token 接口返回异常 1、检测网络访问情况,正常上网时重试 2、检测产品 APPID 与后台配置的包名包签名是否匹配
-50101 SDK 内部请求 pre_get_token 接口解密失败 1、检测网络访问情况,正常上网时重试 2、检测产品 APPID 与后台配置的包名包签名是否匹配 3、确认后台余额是否充足

2、OnePass(本机号码认证)

服务端返回码

返回码 描述 处理建议
200 请求成功
500 从运营商获取结果失败 提供process_id,结合日志记录查询失败原因
2000 process_id为空 1、没有传process_id这个参数;
2、请求参数格式非json导致无法识别
2001 sign为空 sign字段未传
2002 accesscode为空 accesscode字段未传
2003 phone为空 手机号未传
2004 process_id不合法 process_id(32位)不合法,需使用客户端回传的process_id
2005 timestamp使用错误 1、时间戳单位不是毫秒;
2、时间戳与请求时间误差超过10分钟
2006 源IP不在报备白名单中 检查应用申请时报备ip白名单列表是否包含当前服务器
2104 sign错误 1、sign的加密方式不是sha256加密方式;
2、sign加密使用的appid和客户端使用的appid不一致;
3、sign加密使用的appid和appkey是否正确;
4、根据加密文档进行查看
3001 余额不足 后台无余额,联系商务充值
3101 未查询到对应的app_id 检查当前应用申请app_id是否正确使用
3102 process_id不存在 1、process_id过期,需重新请求新的process_id;
2、检查sdk版本并联系客服详细处理
3105 process_id重复使用 process_id重复使用,验证失败或者成功,都需要重新预取号获取并使用新的process_id
3200 accesscode失效 1、获取accesscode到使用间隔时间太长,有效期2分钟;
2、accesscode重复使用,需重新获取

Android返回码

返回码 描述 处理方式
-20100 调用getToken接口时传入的手机号为空或者格式不正确 调用getToken接口时传入正确的手机号参数
-20101 调用getToken接口时传入的 APPID 参数为空 调用getToken接口时传入正确的 APPID 参数
-20102 调用getToken接口太快,上一次调用未返回就再次重复调用 登录按钮增加防抖处理,避免同一时间多次调用getToken接口
-20200 手机未开启数据流量与 WIFI 网络 打开数据流量后重试
-20201 手机未插入 SIM 卡或者在模拟器中运行 建议在支持 SIM 卡的且数据网络访问正常的移动设备上重试
-20202 手机有电话卡但未开启数据流量 建议打开数据流量后重试
-20203 使用纯流量卡或者非国内三大运营商手机卡 使用国内三大运营商电话卡尝试
-20204 WIFI 下走数据流量出现错误,可能未配置CHANGE_NETWORK_STATE权限 应用内配置CHANGE_NETWORK_STATE权限重试
-20205 检测当前走数据流量超时,请检测当前卡是否欠费 充值后重试或者换其他正常访问数据流量的设备重试
-20206 数据网络切换强制请求走数据网络时调用enableHIPRI接口失败 检查数据网络是否正常访问,或者 SIM 卡识别是否稳定,开关数据网络或者开关飞行模式,或者重启手机后重试
-20207 WIFI 下请求切换网络失败
1、未配置CHANGE_NETWORK_STATE权限
2、网络不稳定或者 SIM 状态异常
1、应用内配置CHANGE_NETWORK_STATE权限重试,检查数据网络是否正常访问
2、SIM 卡识别是否稳定,开关数据网络或者开关飞行模式,或者重启手机后重试
-30200 网络异常或者产品 APPID 配置错误,导致SDK 内部请求 PreGateWay 接口错误 1、检测网络访问情况,正常上网时重试 2、检测产品 APPID 与后台配置的包名包签名是否匹配
-40101 移动 SDK 获取 Token 失败,具体见移动运营商错误码章节 参考移动运营商错误码处理方式处理
-40104 SDK 内识别的网络类型移动 SDK 不支持 更换其他可正常上网的移动设备重试
-40201 联通 SDK 获取 Token 失败,具体见联通运营商错误码章节 参考联通运营商错误码处理方式处理
-40204 联通不支持的网络制式(不支持 2G) 联通卡更换 3G 或者 4G 网络后重试
-40301 电信 SDK 获取 Token 失败,具体见联通运营商错误码章节 参考联通运营商错误码处理方式处理
-40305 电信不支持的网络制式(不支持 2G, 3G) 电信卡更换 4G 网络后重试
-50100 网络异常或者产品 APPID 与包名包签名不匹配,导致SDK 内部请求 PreGateWay 接口解密失败 1、检测网络访问情况,正常上网时重试
2、检测产品 APPID 与后台配置的包名包签名是否匹配
-50101 网络异常或者产品 APPID 与包名包签名不匹配,导致SDK 内部请求 PreGateWay 接口返回错误 1、检测网络访问情况,正常上网时重试
2、检测产品 APPID 与后台配置的包名包签名是否匹配

iOS返回码

错误码 描述 处理方式
-20301 GOPErrorInvalidPhoneNumber 手机号码不可用 请传入合法的手机号
-20302 GOPErrorUnsupportedNetwork 网络不支持 请打开蜂窝移动网络
-20303 GOPErrorUnsupportedOperator 运营商不支持 请查看是否有插入 SIM 卡
-20404 GOPErrorRepeatPreGateway 重复预取号 verifyPhoneNumber 未完成时不要重复调用 verifyPhoneNumber 方法
-39901 GOPErrorSocketError Socket 错误 请检查应用是否拥有蜂窝网络数据权限,蜂窝数据网络是否通畅,在网络信号较好的地方重试
-40101 移动运营商预取号失败 参考移动运营商错误码处理方式处理
-40201 联通运营商预取号失败 参考联通运营商错误码处理方式处理
-40301 电信运营商预取号失败 参考电信运营商错误码处理方式处理
-50100 GOPErrorInvalidPreGatewayReturns pregateway 返回结果有误 1、检测网络访问情况,正常上网时重试 2、检测产品 APPID 与后台配置的包名包签名是否匹配

3、OnePass API(本机号码认证H5)

服务端返回码

返回码 描述 处理建议
200 请求成功
500 从运营商获取结果失败 1、当前手机号测试超过10次,建议更换手机号进行测试;
2、提供process_id,结合日志记录查询失败原因
21002 余额不足 后台无余额,联系商务充值
21003 process_id为空 1、process_id参数未传;
2、请求参数格式非X-WWW-FORM-URLENCODED导致无法识别
21004 process_id不存在 1、process_id过期,需重新请求新的process_id;
2、检查sdk版本并联系客服详细处理
21005 process_id重复使用 process_id重复使用,验证失败或者成功,都需要重新预取号获取并使用新的process_id
21006 加密时间戳已经过期 1、检查时间戳是否符合文档要求;
2、检查服务器本地时间是否有偏差
21007 源IP不在报备白名单中 检查应用申请时报备ip白名单列表是否包含当前服务器
21008 accesscode为空 accesscode字段未传
21009 phone为空 手机号未传
21010 校验手机号异常 检查sdk版本并联系客服详细处理
22001 sign参数校验失败 1、sign的加密方式不是sha256加密方式;
2、sign加密使用的appid和客户端使用的appid不一致;
3、sign加密使用的appid和APPkey是否正确;
4、根据加密文档进行查看
22002 sign参数为空 按文档要求传参

H5返回码

返回码 说明 常见原因 解决方法
100 pre_gateway接口网络失败 断网,超时或者跨域 检测网络
101 pre_gateway接口返回数据错误 数据格式不对 查看文档确认格式正确
102 接口网络失败 断网,超时或者跨域 检测网络
103 电信接口失败 是否是数据网络 检测网络,服务查看日志
104 移动接口失败 是否是数据网络,备案refer是否与当前页面refer一致 1、确认备案refer,与实际使用页面地址是否一致;
2、确认是否添加header代码;
3、检测网络, 服务查看日志
105 record_token接口网络失败 断网,超时或者跨域 检测网络
106 record_token接口失败 是否是数据网络 检测网络,服务查看日志
107 联通接口失败 是否是数据网络 检测网络,服务查看日志
108 切换运营商接口失败 接口超时错误 检测网络,服务查看日志

小程序返回码

返回码 说明
100 gateway接口网络请求失败,网络超时或失败
101 gateway接口返回失败,检查app_id是否合法
102 电信接口网络请求失败,网络超时或失败
103 电信取号失败(检查是否开启4G,查看接口返回数据)
104 移动取号失败(检查是否开启4G,查看接口返回数据)
107 联通取号失败 (检查是否开启4G,查看接口返回数据)

4、安全功能返回码

风险等级说明

字段名 等级 说明
risk_level 0 未发现风险,正常用户
risk_level 3 风险较低
risk_level 7 有较高的风险
risk_level 9 高风险,确定是风险用户

风险码说明

风险码 风险等级 原因
2002 3/7/9 ip击中攻击数据库,威胁等级依据IP本身攻击行为的程度
3001 3 请求行为不符合正常阈值
3003 9 前端代码加载异常
3004 7 篡改软件环境信息
3006 7 伪造设备信息
3008 7 篡改网络相关信息
3009 3 网络环境异常
4001 7 模拟器操作
4003 7 安卓端对设备有改机操作或者安装了改机软件
4004 3 设备越狱或者root
4005 3 设备安装了多开工具或者类似多开类应用
4006 7 设备处于正在被调试状态

规则返回码

风险信息返回 strategy_code 原因
手机号频次超限 4011 一小时内同一手机号调用OneLogin次数超过限制
IP频次超限 4012 一小时内同一IP调用OneLogin次数超过限制
设备频次超限 4013 一小时内同一设备调用OneLogin次数超过限制
手机号黑名单 4021 调用OneLogin请求的手机号在黑名单里
IP黑名单 4022 调用OneLogin的 IP 在黑名单里
设备指纹黑名单 4023 调用OneLogin的设备在黑名单里
IP账户限制 4032 单IP账户数量超过限制
设备账户限制 4033 单设备指纹账户数量超过限制
新设备限制 3043 本次调用OneLogin的设备为新设备

5、运营商错误码

移动

返回码 描述 处理方式
102507 登录超时(授权页点登录按钮时,网络信号较差或者配置的超时时间较短 在网络信号较好的地方重试,或者修改 SDK 超时时间配置,适当延长超时时间
103102 包签名错误(后台填写的 APPID 和对应的包名包签名必须一致) 检查应用的包名、包签名与后台创建应用时配置的包名与包签名是否一致,核对 APPID 是否正确
103111 错误的运营商请求,可能是用户正在使用代理或者运营商判断失败导致 在仅开启数据网络的情况下重试
103511 服务器 IP 白名单校验失败 请联系客服配置 IP 白名单
103911 token 请求过于频繁,10 分钟内获取 token 且未使用的数量不超过30个 限制 token 请求频率
104201 token 已失效或不存在,重复校验或失效 重启应用后尝试
105001 联通卡请求移动 SDK 进行取号失败,或者手机卡运营商识别错误 升级最新版本 SDK 或者提供错误日志联系客服解答
105002 移动取号失败,可能物联网卡,不允许取号 更换其他可正常通话上网的电话卡尝试
105003 电信卡请求移动 SDK 进行取号失败,或者手机卡运营商识别错误 升级最新版本 SDK 或者提供错误日志联系客服解答
105012 电信卡请求移动 SDK 进行取号失败,或者手机卡运营商识别错误 升级最新版本 SDK 或者提供错误日志联系客服解答
105013 联通卡请求移动 SDK 进行取号失败,或者手机卡运营商识别错误 升级最新版本 SDK 或者提供错误日志联系客服解答

联通

返回码 描述 处理方式
303 应用访问接口次数超日限额 第二天重试,或增加阈值
3004 使用 3GNET 网络取号失败 建议使用 4G 网络,或者开关数据网络、飞行模式后重试
3005 WIFI 网络下取号失败,或者手机系统限制切换数据失败 建议在仅开启数据网络情况下重试
3009 非联通卡请求SDK SDK 进行取号失败,或者手机卡运营商识别错误 升级最新版本 SDK 或者提供错误日志联系客服解答
3011 源 IP 鉴权失败,用户的公网非联通 3/4G 网关的 IP 建议切换、开关数据网络或者开关飞行模式后重试
102001 选择流量通道失败,取号功能必须使用流量访问,在 WIFI 和流量同时开启的情况下,SDK 会选择使用流量进行访问,此返回码代表切换失败!(受不同机型的影响) 在仅开启数据网络的情况下重试
201001 操作频繁请请稍后再试 超出 10 分钟之内只能访问 30 次的限制
302002 网络访问异常 SDK 网络请求异常
302003 服务端数据格式出错 服务端返回数据格式错误
1102 1、公网 IP 无效
2、同102001 返回码
建议切换 4G 网络,或者开关数据网络、飞行模式后重试

电信

返回码 描述 处理方式
-65 API-request-rates-Exceed-Limitations(调用接口超限),一定时间内连续调用次数较多 限制调用频次
-10001 取号失败
1、3G 网络取号失败
1、在 4G 环境下重新尝试
2、建议切换其它登录方式
-10006 电信网络,Mdn取号失败,可能是在非 4G 网络下请求 换 4G 网络重试
-10008 超过预设取号阀值 第二天重试,或增加阈值
-10009 时间戳过期 请确认本机时间是否正确后重试
-10016 安全参数不完整,安全校验失败 请确认SDK返回的参数填写正确
-8001/80001 1、网络异常导致网络请求失败
2、so库匹配错误
3、项目中错误的 abiFilters配置
1、在4G环境下重新尝试;如果 4G 条件下仍失败,在网络良好的环境下重新尝试
2、重新按照标准检验 so 库是否正确,确认so库按要求导入对应so库
3、检查本地是否存在多余的 so
4、检查项目中的abiFilters是否过滤掉设备平台运行必须的 so 库
-8003/80000 网络状况较差或者配置的超时时间较短,请求超时 换网络环境好的地方重试
-8005/80103 调用 SDK 前没有调用初始化方法 在使用天翼账号 SDK 接口之前,必须先调用初始化方法
-8100/80004 移动数据网络未开启或者未允许当前 APP 使用移动数据网络 需要用户允许 APP 使用移动数据网络
-8104/80007 网络问题导致 IO 异常 受网络环境以及服务稳定性影响,建议重试
30002 无法识别用户网络,非电信用户服务识别运营商 返回两个地址可以分别请求,也可以认为是失败
51114 获取数据不存在
1、AccessCode 只能使用一次
2、AccessCode 过期(默认一小时缓存)
重新调用预授权接口获取
80102 so 库匹配异常导致预登录异常 参考 80001 错误码处理方式