与支持最多的服务器通信的默认安全协议是什么TLS 1.2?将.NET在默认情况下,选择支持在服务器端安全性最高的协议或做我必须明确地添加此行代码:
System.Net.ServicePointManager.SecurityProtocol =
SecurityProtocolType.Tls | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12;
Run Code Online (Sandbox Code Playgroud)
除了代码更改之外,有没有办法更改此默认值?
最后,.NET 4.0只支持TLS 1.0吗?即我必须将客户端项目升级到4.5以支持TLS 1.2.
我的动机是删除SSLv3客户端的支持,即使服务器支持它(我已经有一个powershell脚本在机器注册表中禁用它)并支持服务器支持的最高TLS协议.
更新:
查看ServicePointManager该类,.NET 4.0我看到没有枚举值TLS 1.0和1.1.两者都是.NET 4.0/4.5默认值SecurityProtocolType.Tls|SecurityProtocolType.Ssl3.希望SSLv3在注册表中禁用此默认值不会中断.
但是,我已经决定将所有应用程序升级到.NET 4.5并显式添加SecurityProtocolType.Tls | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12;到所有应用程序的所有引导代码中.
这将使各种apis和服务的出站请求不降级,SSLv3并应选择最高级别TLS.
这种方法听起来合理还是矫枉过正?我有很多应用程序要更新,我希望将来证明它们,因为我听说甚至TLS 1.0可能在不久的将来被某些提供商弃用.
作为向API发出出站请求的客户端,在注册表中禁用SSL3是否会在.NET框架中产生影响?我默认看到,TLS 1.1和1.2没有启用,我们是否必须通过注册表启用它?RE http://support.microsoft.com/kb/245030.
经过一些调查后,我相信注册表设置将不会有任何影响,因为它们适用于IIS(服务器子项)和浏览器(客户端子项).
对不起,这篇文章变成了多个问题,接着是"可能"的答案.
我一直在关注以下教程:http://wiki.developerforce.com/page/Accessing_Salesforce_Data_From_Ruby
但是,我坚持你需要提供密钥的部分:
host: login.salesforce.com # Use test.salesforce.com for sandbox
client_secret: 1234567890 # This is the Consumer Secret from Salesforce
client_id: somebigidthinghere # This is the Consumer Key from Salesforce
sobject_module: SFDC_Models # See below for details on using modules
debugging: true # Can be useful while developing
username: me@mycompany.com
password: mypasswordplusmysecuritytoken
Run Code Online (Sandbox Code Playgroud)
我在哪里可以得到client_secret和client_id.来自Salesforce官方API站点的教程有点过时了.http://www.salesforce.com/us/developer/docs/api_rest/index.htm
而其他一些教程甚至没有提到从哪里获得它.
我已经在http://developer.force.com/创建了一个帐户
甚至创建了一个自定义应用程序,如果我错了,请纠正我.
然后不知道在哪里找到我需要的钥匙.
任何变通办法将不胜感激.
我们使用Web服务器身份验证流程实现了OAuth 2.0。它在十月/十一月运行良好,但是突然间它停止了工作。每当我们尝试授权另一个客户端时,服务器都会向正文返回(400)错误的请求
{"error":"unsupported_grant_type","error_description":"grant type not supported"}
Run Code Online (Sandbox Code Playgroud)
grant_type设置为authorization_code,绝对有效。
有什么原因会使OAuth突然停止工作?
这是我们实现OAuth的方式:
第一个用户被定向到:https : //login.salesforce.com/services/oauth2/authorize?response_type=code&client_id=blah.id&redirect_uri=https : //domain.com/Web/Salesforce/Callback.aspx&scope=api%20refresh_token
Salesforce会提示用户登录其帐户。
一旦用户通过身份验证,Salesforce就会调用Callback.aspx,Callback.aspx会通过向以下地址发出POST请求来代表客户端刷新令牌:https : //login.salesforce.com/services/oauth2/token(带有有效负载):
grant_type = authorization_code&code = blah.code&client_id = blah.Id&client_secret = 11111111&redirect_uri = https://domain.com/Web/Salesforce/Callback.aspx
内容类型绝对是:application / x-www-form-urlencoded
我正在尝试使用他们的OAuth 2.0界面连接到Salesforce.com.我找到了像LROAuth2Client这样的解决方案,允许我打开一个网页并进行身份验证.但有没有办法通过后端完成所有这一切,而不首先访问网页,这样我可以将它更多地集成到应用程序中?
我是OAuth的新手,所以我不知道所有的限制.
提前致谢.