Loading
识别您的用户并管理访问
OAuth 2.0 授权错误

OAuth 2.0 授权错误

OAuth 授权期间可能会出现错误。例如,用户拒绝访问连接的应用程序或请求参数不正确。当出现错误时,授权服务器会向带有错误代码的回调 URL 发送错误。

所需的 Edition

适用于 Salesforce Classic 和 Lightning Experience
适用于:所有版本

OAuth 授权错误根据授权流有不同的格式。以下是每个受支持的 OAuth 流的示例。

  • 此错误来自 OAuth 2.0 Web 服务器流,其中用户拒绝访问连接的应用程序:
    https://www.mycustomerorderstatus/code_callback.jsp?error=access-denied
  • OAuth 2.0 用户代理流也有同样的错误:
    https://www.customercontactinfo.com/user_callback.jsp#error=access_denied
  • 如果 OAuth 2.0 JWT 不记名流出错误,授权服务器将使用标准 OAuth 错误响应进行回复。响应包括令牌被视为无效的原因。有关更多信息,请参阅https://tools.ietf.org/html/rfc7523。该示例显示了 JSON 格式的错误响应示例。
    HTTP/1.1 400 Bad Request
    Content-Type: application/json
    Cache-Control: no-store
    {
      "error":"invalid_grant",
      "error_description":"Audience validation failed"
    }
  • 以下是 OAuth 2.0 刷新令牌流返回的错误示例。
    {"error":"invalid_grant","error_description":"expired access/refresh token"}
  • 此示例错误响应发生在处理 SAML 不记名声明时。
    HTTP/1.1 400 Bad Request
    Content-Type: application/json
    Cache-Control: no-store
    {
      "error":"invalid_grant",
      "error_description":"Audience validation failed"
    }
  • 以下是 SAML 声明流中的示例错误。该流包括错误 URI,它是到 SAML 声明验证器的链接。验证器包含有关失败的更多信息。此错误 URI 仅在 Salesforce 能够解析该声明时返回。

    {"error_uri":"https://yourInstance.salesforce.com/setup/secur/SAMLValidationPage.apexp",
    "error":"invalid_grant","error_description":"invalid assertion"} 

错误代码

为了帮助排除出现错误的原因,请查看以下错误代码和原因。

错误 原因
access_denied 用户拒绝访问客户端应用程序。
authorization_pending 对于设备流,用户尚未批准访问设备。
CSRF Salesforce 检测到可能的跨站点伪造请求 (CSRF) 攻击。我们无法验证登录请求是否来自正确的域。
ERROR_CREATING_USER

这些情况之一已经发生。

  • 用户名不唯一。
  • 该电子邮件地址存在联系人。
  • 用户没有许可证。
  • 您超出了贵组织的存储限制。
immediate_unsuccessful immediate 参数设置为 true,用户未登录或之前未批准客户端访问。
inactive_org 组织被锁定、关闭或暂停使用。
inactive_user 组织管理员将用户设置为非活动状态。
invalid_app_access 管理员未批准用户访问此应用程序。
invalid_assertion_type 不支持指定的声明类型。
invalid_client 客户端密码无效。
invalid_client_id 客户端标识符无效。
invalid_grant

以下之一:

  • 授权代码无效。对于 SAML 声明流,请确保客户端发送 URL 编码的assertionassertion_type
  • 用户凭证无效。
  • 用户无效。
  • 声明无效。
  • 受众无效。
  • IP 受限或登录小时数无效。
  • 表示code_verifier值无效(例如,未编码 base64)或不是给定code_challenge的有效验证器。
  • 表示未指定code_challenge,因此未预期code_verifier,但已指定。
  • 用户尚未批准连接的应用程序。
  • 身份验证失败。
  • 对于设备流,未为连接的应用程序启用设备流,或者 Salesforce 服务器无法授予访问标记。
  • 对于刷新标记流,刷新或访问标记已过期。
  • 对于客户端凭据流,主机域不支持该请求。对于此流,不支持对 https://login.salesforce.comhttps://test.salesforce.com 的请求。请改用 My Domain URL。
invalid_request

以下错误之一。

  • 需要 HTTPS。
  • 需要 HTTP GET。
  • 需要 HTTP POST。
  • code_challenge 值无效,例如不是 base64 编码。
  • 流不支持且不期待 code_challenge 参数。
  • 不支持带外。
  • JWT 不记名和 SAML 声明不记名流需要refresh_token范围。安装并预授权应用程序。
  • 对于设备流,在投票请求中指定的设备代码无效。
  • 对于用户名-密码流,不支持 范围参数。
  • 对于刷新标记流,不支持密码类型。
invalid_scope 请求的范围无效、未知或格式错误。
NO_ACCESS 无法查找用户。例如,没有用户名。
No_OAuth_State OAuth 状态被篡改或丢失。
No_Openid_Response 用户信息端点 URL 无效。
rate_limit_exceeded 已超出登录尝试次数。
redirect_uri_mismatch 重定向 URI 与连接的应用程序定义不匹配。
redirect_uri_missing 未提供重定向 URI。
REGISTRATION_HANDLER_ERROR 对于身份验证提供商,注册处理器 Apex 代码出现问题。
server_error 客户端应用程序中的授权请求数量超过每小时限制。
slow_down 对于设备流,客户端应用程序轮询授权服务器的频率高于建议的最小间隔。
unsupported_response_type 不支持请求的响应类型。
 
正在加载
Salesforce Help | Article