获取SalesForce中已连接应用的刷新\u令牌

获取SalesForce中已连接应用的刷新\u令牌,salesforce,salesforce-lightning,Salesforce,Salesforce Lightning,我设置了一个已连接的应用程序,一个Python应用程序,以代表用户以编程方式访问Salesforce对象(脱机访问) 该应用程序工作正常,我可以生成一个访问\u令牌: $curlhttps://login.salesforce.com/services/oauth2/token -d“授权类型=密码”-d“客户端id=我的应用程序\客户端id”-d“客户端密码=我的应用程序\密码”-d”用户名=my@user.com-d“password=my_password” {“访问令牌”:“00D090

我设置了一个已连接的应用程序,一个Python应用程序,以代表用户以编程方式访问Salesforce对象(脱机访问)

该应用程序工作正常,我可以生成一个
访问\u令牌

$curlhttps://login.salesforce.com/services/oauth2/token -d“授权类型=密码”-d“客户端id=我的应用程序\客户端id”-d“客户端密码=我的应用程序\密码”-d”用户名=my@user.com-d“password=my_password”
{“访问令牌”:“00D0900000KDIX!AQoAQNi1234”,“实例url”:https://my_instance.salesforce.com,“id”:https://login.salesforce.com/id/12345/12345“,”令牌类型“:”持票人“,”签发地点“:”1606401330889“,”签名“:”abc/def”}
到目前为止还不错

现在我想切换到使用刷新令牌的基于web服务器的流,但我被难住了。我从何处获得初始的
refresh\u令牌
,与
grant\u type=refresh\u令牌
一起发送?文档似乎假设我已经有了一个
refresh\u令牌
,只想基于此生成另一个
access\u令牌
,但事实并非如此

端到端的实际步骤和必要调用是什么

我找到并阅读的文档列表,但并没有让我变得更聪明:


    • 以下是有关OAuth流的Salesforce文档。它是这样运行的;请注意,这涉及到用户交互,因此
      curl
      本身不足以清楚地演示流程

      • 您可以将用户引导到其web浏览器中的Salesforce登录UI,以获取授权码:

        https://login.salesforce.com/services/oauth2/authorize?client_id=<YOUR CONNECTED APP CLIENT ID>&redirect_uri=<CALLBACK URL ON YOUR SERVER>&response_type=code
        
        https://login.salesforce.com/services/oauth2/authorize?client_id=&redirect_uri=&response_type=code
        
      • 用户与授权页面交互以批准您的应用程序

      • 然后将用户重定向到您在调用中提供的应用程序中的回调URL(注意:这也必须在连接的应用程序定义中设置为回调),例如


        https://YOUR_SERVER.com/oauth2/callback?code= 介绍如何将JWT身份验证与
        simple\u salesforce
        Python库配对。在连接的应用程序上填充证书和分配预批准的配置文件(或更好的权限集)需要一点初始设置,但一旦完成设置,它将非常顺利,并且不需要任何用户交互。

        您尝试实现哪种OAuth流?听起来您可能想要或流,但如果您正在构建一个无头脱机应用程序,您可能会想要替代它。@Davidred JWT,最终。但现在:
        现在我想切换到基于web服务器的流,使用刷新令牌!非常好的回答,包括最后一段。谢谢,很好。对于任何想知道的人来说:
        instance\u url
        refresh\u令牌一起返回到项目符号4的JSON响应中。
        
        https://YOUR_SERVER.com/oauth2/callback?code=<AUTHORIZATION CODE>