我需要在dotnet上登录salesforce而不使用安全令牌(soap api)。
目前我们正在使用登录代码(soap api):
SforceService mySalesForceSerice= new SforceService();
LoginResult myLoginResult=mySalesForceSerice.login(username,String.Concat(password,***securityToken***));
this.SessionID = myLoginResult .sessionId;
this.ServerUrl = myLoginResult .serverUrl;
但我不使用安全令牌 .....................
答案 0 :(得分:1)
如果您查看登录的API参考
Salesforce会检查客户端应用程序从中登录的IP地址,并阻止来自未知IP地址的登录。对于通过API阻止登录,Salesforce会返回登录错误。 然后,用户必须将其安全令牌添加到其密码的末尾才能登录。安全令牌是Salesforce自动生成的密钥。例如,如果用户的密码是mypassword,并且其安全令牌是XXXXXXXXXX,则用户必须输入mypasswordXXXXXXXXXX才能登录。 当安全令牌无效时,用户必须重复登录过程才能登录。为避免这种情况,管理员可以确保将客户端的IP地址添加到组织的可信IP地址列表中。有关详细信息,请参阅Security Token。
链接后显示:
如果为您的组织启用了单点登录(SSO),则访问API或桌面客户端的用户无法登录到Salesforce,除非他们的IP地址包含在您组织的可信IP地址列表中或其配置文件中,如果他们的个人资料设置了IP地址限制。此外,委派的身份验证授权通常为具有“使用单一登录”权限的用户处理登录锁定策略。但是,如果为您的组织启用了安全令牌,那么您组织的登录锁定设置将确定用户在锁定Salesforce之前可以尝试使用无效安全令牌登录的次数。< / p>
在我看来,这是一个安全设置,需要由您的salesforce管理员设置,并且无法绕过。
答案 1 :(得分:1)
转到setup-&gt; Security Controls-&gt; Network并输入服务器的IP地址或地址范围。来自白名单的IP地址的登录尝试不需要安全令牌。
我对大多数服务器执行此操作,因此在从Eclipse部署时无需输入令牌。我也这样做,所以使用apex REST服务的curl脚本是无记号的。