如何在不使用dotnet中的安全令牌(使用soap api)的情况下登录salesforce?
Posted
技术标签:
【中文标题】如何在不使用dotnet中的安全令牌(使用soap api)的情况下登录salesforce?【英文标题】:How to login salesforce without using security token in dotnet (using soap api)? 【发布时间】:2013-10-21 17:16:45 【问题描述】:我需要在不使用 安全令牌(soap api)的情况下在 dotnet 中登录 Salesforce。
目前我们正在使用登录代码(soap api):
SforceService mySalesForceSerice= new SforceService();
LoginResult myLoginResult=mySalesForceSerice.login(username,String.Concat(password,***securityToken***));
this.SessionID = myLoginResult.sessionId;
this.ServerUrl = myLoginResult.serverUrl;
但我没有使用 安全令牌
【问题讨论】:
【参考方案1】:进入设置->安全控制->网络并输入您服务器的IP地址或地址范围。来自白名单 IP 地址的登录尝试不需要安全令牌。
我对大多数服务器都执行此操作,因此从 Eclipse 部署时无需输入令牌。我也这样做,所以我使用 apex REST 服务的 curl 脚本是无令牌的。
【讨论】:
【参考方案2】:如果您查看登录的 API 参考
Salesforce 检查客户端应用程序登录的 IP 地址,并阻止来自未知 IP 地址的登录。对于通过 API 阻止的登录,Salesforce 返回登录错误。 然后,用户必须将其安全令牌添加到密码末尾才能登录。安全令牌是 Salesforce 自动生成的密钥。例如,如果用户的密码是 mypassword,安全令牌是 XXXXXXXXXX,那么用户必须输入 mypasswordXXXXXXXXXX 才能登录...... 当安全令牌无效时,用户必须重复登录过程才能登录。为避免这种情况,管理员可以确保将客户端的 IP 地址添加到组织的受信任 IP 地址列表中。如需更多信息,请参阅Security Token。
以下链接表示:
如果您的组织启用了单点登录 (SSO),则访问 API 或桌面客户端的用户无法登录 Salesforce,除非他们的 IP 地址包含在您组织的受信任 IP 地址列表或其个人资料中,如果他们的个人资料设置了 IP 地址限制。此外,委托的身份验证机构通常为具有“使用单点登录”权限的用户处理登录锁定策略。但是,如果为您的组织启用了安全令牌,则您组织的登录锁定设置决定了用户在被 Salesforce 锁定之前可以尝试使用无效安全令牌登录的次数。
在我看来,这是一个安全设置,需要由您的 salesforce 管理员设置,并且无法绕过。
【讨论】:
以上是关于如何在不使用dotnet中的安全令牌(使用soap api)的情况下登录salesforce?的主要内容,如果未能解决你的问题,请参考以下文章
如何在不使用库的情况下验证本机 Javascript 中的 Azure OAuth 访问 JWT 令牌?
我可以在不使用gradle的情况下使用Xamarin.Android中的Android数据绑定库吗?不是MVVM for dotnet
在到 WCF Web 服务的 SOAP 消息中,如何将 KeyIdentifier 直接放在 SecurityTokenReference 中(内联,不使用引用令牌)