Loading
识别您的用户并管理访问
目录
选择筛选器

          没有结果
          没有结果
          以下是一些搜索提示

          检查关键字的拼写。
          使用更普遍的搜索词。
          选择更少的筛选器,并扩大搜索范围。

          搜索所有 Salesforce 帮助
          适用于特殊情况的 OAuth 2.0 用户名密码流

          适用于特殊情况的 OAuth 2.0 用户名密码流

          您可以使用用户名-密码流通过连接的应用程序来授权已经拥有用户凭据的客户端。但是,我们建议避免该流,因为它来回传递凭据。只有在资源所有者和客户端之间高度信任、客户端是第一方应用程序、Salesforce 托管数据以及其他授权类型不可用的情况下,才使用它。在这些个案中,设置用户权限,以最小化访问权限,并避免未经授权地访问存储的凭据。

          所需的 Edition

          适用于 Salesforce Classic 和 Lightning Experience
          适用于:所有版本
          备注
          备注 自 Spring ‘26 起,连接的应用程序创建受到限制。在 Spring ‘26 期间和之后,您可以继续使用现有的连接的应用程序。但我们建议使用外部客户端应用程序。如果您必须继续创建连接的应用程序,请联系 Salesforce 支持。

          有关更多详细信息,请查看无法在 Spring ‘26 中创建新连接应用程序

          重要
          重要 为了提高安全性,我们建议使用 OAuth 2.0 Web 服务器流和用于代码交换的证明密钥 (PKCE) 或 OAuth 2.0 客户端凭据流,而不是用户名-密码流。我们还建议您阻止所有连接的应用程序使用用户名密码流。

          用户名-密码流生成访问标记,作为无法自检的 Salesforce 会话 ID。因为访问标记是临时的,所以使用此流的连接的应用程序不会显示在“连接的应用程序 OAuth 使用”页面上,即使它们有活动会话。该流不支持范围或刷新标记。Experience Cloud 站点不支持 OAuth 2.0 用户名-密码流。

          以下是用户名-密码流中涉及的主要步骤。

          • 连接的应用程序通过向 Salesforce 标记端点发送用户的登录凭据来请求访问标记
          • 验证请求后,Salesforce 向连接的应用程序授予访问标记
          • 连接的应用程序可以使用访问令牌代表用户访问受保护的数据。

          请求访问标记

          要请求访问令牌,连接的应用程序会将用户的用户名和密码作为带外 POST 发送到 Salesforce 令牌端点。该 POST 是一个示例。

          grant_type=password&
          client_id=3MVG9lKcPoNINVBIPJjdw1J9LLM82HnFVVX19KY1uA5mu0QqEWhqKpoW3svG3XHrXDiCQjK1mdgAvhCscA9GE&
          client_secret=1955279925675241571&
          username=testuser@salesforce.com&
          password=mypassword

          在 POST 中包括这些参数。

          重要
          重要 在开发 OAuth 集成时,请始终在 POST 请求的正文或请求标题中传递敏感信息。不要在 URL 查询字符串中使用 GET 参数来传递敏感信息。敏感信息包括但不限于用户名、密码、OAuth 令牌、客户端密码和任何个人身份信息。有关安全最佳实践的更多信息,请查看安全编码指南中的存储敏感数据
          参数 描述
          grant_type 连接的应用程序请求的 OAuth 2.0 授权类型。对于此流,值必须是 password
          client_id 连接的应用程序的使用者密钥。要访问消费者密钥,请从应用程序管理器中找到连接的应用程序,并从下拉列表中选择查看。然后,单击管理客户详细信息。在查看消费者密钥之前,有时会提示您验证您的身份。
          client_secret 连接的应用程序的使用者密码。要访问使用者密码,请从应用程序管理器中找到连接的应用程序,并从下拉列表中选择查看。然后,单击管理客户详细信息。在查看使用者密码之前,有时会提示您验证您的身份。
          username 连接的应用程序正在模仿的用户的用户名。
          password

          连接的应用程序正在模仿的用户的密码。

          使用具有 API 的用户名密码流程时,在用户名和密码登录屏幕中创建字段,用户可以在其中输入其安全标记。安全标记是自动生成的密钥,您必须将其附加到密码末尾,以便从非受信网络登录 Salesforce。在传递验证请求时连结其密码和标记。

          format

          如果没有包含在请求的标题中,您可以指定预期的返回格式。format 参数优先于请求的标题。支持这些格式。

          • urlencoded
          • json(默认)
          • xml

          Salesforce 授予访问标记

          在验证请求之后,Salesforce 会发送响应给客户端。

          此处是示例响应。

          {"id":"https://login.salesforce.com/id/00Dx0000000BV7z/005x00000012Q9P",
          "issued_at":"1278448832702",
          "instance_url":"https://yourInstance.salesforce.com/",
          "signature":"0CmxinZir53Yex7nE0TD+zMpvIWYGb/bdJh6XfOH6EQ=",
          "access_token":"00Dx0000000BV7z!AR8AQAxo9UfVkh8AlV0Gomt9Czx9LjHnSSpwBMmbRcgKFmxOtvxjTrKW19ye6PE3Ds1eQz3z8jr3W7_VbWmEu4Q8TVGSTHxs",
          "token_type":"Bearer"}

          这些参数在响应的正文中。

          参数 描述
          id 可用于标识用户以及查询有关用户的更多信息的身份 URL。请参阅身份 URL
          issued_at 签名创建时间的时间戳,单位毫秒。
          instance_url 指示用户的组织实例的 URL。例如:https://yourInstance.salesforce.com/.
          signature 使用 client_secret 签名的 Base64 编码 HMAC-SHA256 签名。签名可以包括连接 ID 和issued_at value,您可以使用它们来验证身份 URL 在服务器发送后没有更改。
          access_token 连接的应用程序用来代表客户端应用程序请求访问受保护资源的 OAuth 标记。访问标记可以附带范围形式的附加权限。
          token_type Bearer 令牌类型,用于包含访问令牌的所有响应。
          备注
          备注 此响应不会发送刷新标记。
           
          正在加载
          Salesforce Help | Article