【发布时间】:2013-11-01 07:00:30
【问题描述】:
我们创建了一个下载客户端服务模型应用程序,其中 WCF 服务托管在我们的一台服务器上,客户端应用程序分布在合作伙伴之间。 合作伙伴将获得唯一的 pin,他们可以使用该 pin 向 WCF 服务进行身份验证,并可以向 WCF 服务发出下载请求。
客户端通过 Windows Azure 服务总线连接到 WCF 服务,我们在其中创建了一个命名空间,客户端应用程序可以使用该命名空间连接到服务。 每个命名空间都有一个Default Issuer 和Default Key。当连接到服务总线时,我们在代码中嵌入了这个 Default 键。 有人告诉我需要保护密钥,并且您需要对应用程序进行签名以保护嵌入式密钥。这是真的吗?
我们真的需要保护这个密钥吗? 如果是,那怎么办?有没有一种方法可以简单地在服务总线中提供身份验证,从他们的引脚识别客户端并只允许一组人访问服务总线命名空间? 或者 我无用地担心这些问题? :)
我们正在使用服务总线中继。 我一直在阅读有关 SAS 和 ACS 的信息,根据文档似乎继电器不支持 SAS。以下是链接: “将在不久的将来添加对服务总线中继的支持。” http://msdn.microsoft.com/en-us/library/windowsazure/dn170477.aspx
我无法理解如何使用 ACS 对客户端进行身份验证。 Windows Azure 文档中提供的信息对我来说都是保镖,无论我多么努力,我都无法将它们与任何东西联系起来。
如果有人对我的问题有任何信息,请帮助我提供适当的链接和指导。
谢谢!
编辑!!! 我一直在对此进行搜索,以下链接提供了一种创建未经身份验证的客户端的方法: http://msdn.microsoft.com/en-us/library/microsoft.servicebus.nettcprelaybinding.aspx
通过在我的客户端 App.Config 中使用以下标记
<security relayClientAuthenticationType="None" />
我试过这个,但得到以下错误: “通用:授权失败。确保您已指定正确的 SharedSecret、SimpleWebToken、SharedAccessSignature 或 Saml 传输客户端凭据。MissingToken:需要中继安全令牌。”
我正在寻找有关此错误的更多信息。但很少有问题出现。 如果我们让 azure 服务总线无需身份验证即可访问,那么有人会为了自己的利益而滥用服务总线吗?
【问题讨论】:
标签: c# wcf client-server azureservicebus azure-servicebusrelay