最近有个项目,需要对接把系统的master数据同步到salesforce。第一次接触salesforce,认证这块儿也不是特别懂。查阅了官方的文档,因为这次对接是服务器到服务器端,最后发现有下面两种方式可以采用: Username-Password Flow Server-toServer Flow Username-Password Flow的话,实现起来比较简单,像下面这样指定grant_type=password类型,然后附上其他相关参数就能获得sessionId,后面的通信中,在header 里设置 Authorization: Bearer sessionId就OK了。但是,这个方式虽然简单,官方当前已经不推荐了。因为把账号密码放在get request的parameter中的做法实在是风险太大了。万一泄漏,整个salesforce账号都很危险。 所以,最后还是决定使用更安全的Server-to-Server Flow。这个用法相对来说也更加复杂一些。具体实现大概有这么几个步骤: 1. 创建并上传签名证书 创建电子签名,主要需要以下几个步骤:– 创建密钥– 创建公钥– 创建证书以上都可以通过openssl命令实现: 密钥的话,需要自己保存,只有自己有权限。打开文件的话,可以看到 —–BEGIN RSA PRIVATE KEY—–