我正在尝试保护我的 MVC4 Web Api。实际上,我真的需要一个具有一些安全性的身份提供者。我的服务类似于 twitter,从安全的角度来看,没有很多私有(private)数据,但服务确实需要知道调用者的用户 ID。
同样重要的是要知道 Web 服务现在只能由移动设备使用,尽管网站可能会在 future 某个时候伴随它。
所以。和互联网把我带到了 Thinktecture.IdentityModel,但它看起来很复杂,我可以找到零文档或样本。在基于声明的身份验证方面,我还没有愉快的经历。我没有声明服务器、 token 提供程序或类似的东西,您似乎需要它才能使用此方法。对于我的情况来说,这一切似乎都太沉重了。
我还阅读了有关实现自己的 HMAC 解决方案 (https://github.com/cuongle/WebAPI.Hmac) 或使用 OAuth (https://github.com/maksymilian-majer/DevDefined.OAuth) 的人,但这些也是看起来有点复杂(我读过没有帮助类的 OAuth 足以让最好的开发人员哭泣,而我不是最好的)。 Janrain 看起来可能会起作用,但看起来您每年必须为超过 2,500 个经过身份验证的用户付费......
为 Web Api 实现简单例份提供者和安全性的最佳方法是什么?
谢谢!
最佳答案
在 Create an OAuth 2.0 service provider using DotNetOpenAuth 之前,我曾尝试回答与此类似的问题。我在其中强调了 Thinkecture 标识 服务器 . Setup instructions不太难(恕我直言)安装视频是here并且应该有很大帮助。
我也用这个更新了我的旧答案,但这里还有一个相当轻量级的 O-Auth 2.0 实现示例示例代码 here http://code.google.com/p/codesmith/downloads/detail?name=OAuth2.zip&can=2&q=#makechanges
您是否也在这里阅读过这个清晰的问题 Authenticating requests from mobile (iPhone) app to ASP.Net Web API (Feedback requested on my design)
关于oauth - MVC4 Web API 的身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12946256/