OAuth2.0 接口错误处理

开放平台提供的接口中,以"/oauth2/"开头的接口的错误应答符合OAuth2.0所定义的错误码规范(RFC6749),例如:

/oauth2/oauth2/authorize/

/oauth2/oauth2/token/ 


授权服务器使用 HTTP 400等状态码来作为错误响应,并在响应中包含下列参数:

返回字段说明

参数名 类型 中文名 说明
error String 错误标识 初始化DecryptStart类
error_description String 错误描述 对输入的待签名字符串进行DES加密并使用SHA1签名,返回签名后的Base64字符串
同时提供了业务服务的oauth2接口(例如授信交易登录),可能包含以下业务错误返回字段:
error_no int 错误返回码 错误返回码,例如:-201
error_info String 错误信息 错误描述
error_code String 错误编码 业务服务所定义错误码,例如:PUB:5190001
error_extinfo String 系统辅助信息 扩展错误信息

示例

下面是试图使用错误的交易密码调用授信交易登录接口错误返回:

HTTP/1.1 400 bad request
{
"error": "invalid_usercredentials",
"error_description": "用户凭据无效.","error_no”:”PUB:5190002”,”error_info”:”密码错误”
}

错误码列表

状态码(HTTP Status) 错误标识(error) 错误描述(error_description)
400 invalid_scope 请求的scope无效或超出应用许可范围
400 invalid_request 服务尚未授权,拒绝访问!
400 invalid_grant 授权类型无效或非法不允许等
400 invalid_request 该传的参数不存在或为空
400 unauthorized_client 许可授权请求:客户端未被授权使用此方法请求授权码。获取访问令牌请求:进行身份验证的客户端没有被授权使用这种授权许可类型。
400 unsupported_grant_type 获取访问令牌请求:授权许可类型不被授权服务器支持。
400 unsupported_response_type 许可授权请求:授权服务器不支持使用此方法获得授权码。
400 invalid_usercredentials 用户凭据无效.
401 invalid_token 访问令牌无效或已过期!
401 invalid_user_token 业务访问令牌无效或已过期!
401 invalid_client 客户端未注册|"客户端状态无效"|"客户端密钥无效"
403 insufficient_api 服务等级超出应用访问许可!
403 insufficient_scope 服务所属范围未经授权允许!
403 exceed_access_rate 超过服务访问限制
404 openapi_not_found The openapi[ + api_url + "] is unregistered."
500 server_error 许可授权请求:授权服务器遇到意外情况导致其无法执行该请求。