c# – 如何在RESTful WCF API中实现HMAC身份验证
我们正在使用WCF构建一个RESTful API(目前为.Net 3.5,但将会很快转到.Net 4).我们有一个功能框架,但目前是无担保的.需要从.Net应用程序以及iOS,Android和Web应用程序访问它.
我们想使用如here和here所述的HMAC认证方案,但是在描述如何验证散列时,这两个例子似乎都分崩离析.第一个示例无法描述UserKeys对象(散列表?),第二个示例在客户端和服务器端缺少GetUserKey方法. 任何人都可以提供关于如何在这些示例中生成/存储/检索/使用“用户密钥”/令牌的说明,或者提供一个更好的示例(如果可能,使用源代码)如何在RESTful WCF服务中使用HMAC授权? 编辑: 我们肯定会听到有关如何完成自定义用户名/密码验证和其他保护API的方法的其他选项. 解决方法
检索用户密钥只是一个实现细节,您可以以任何您喜欢的方式执行,但在服务器上,它通常与用户名一起存储在数据库中.
基本的方法真的很简单. >不知何故,服务器和客户端交换共享密钥供用户使用.这可以做任何你喜欢的方式,包括发送一个老式的死树风格的信.通常这只是用户输入的密码. 真正唯一棘手的部分是与用户共享一个密钥,并保持安全.这就是为什么一些服务允许在有限的使用寿命期间生成共享密钥,所以您可以给第三方提供密钥来临时工作. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |