我有它使用许多不同的技术,如Java的,.NET等因此,我的用户凭据存储在一个单独的数据库客户应用的Web API Web服务。如何为我的Web API Web服务实现身份验证和授权?
我的Web服务托管内IIS我已经配置并启用服务器端SSL这可以确保请求/响应消息进行加密和签名。
我还配置了IIS的IP地址限制功能,以允许来自少数几个已知IP地址的请求。
我不喜欢使用基本身份验证因为它以纯文本格式发送凭证,但每封邮件都使用SSL加密。
我不能使用集成Windows身份验证显然是因为我的用户与我的服务器不在同一个域中。
我不能使用表单身份验证因为我的客户端不是基于浏览器的。
那么为我的web服务实现身份验证和授权的最佳方式是什么?
我在想一个办法是提供一个进行身份验证(用户名,密码)Web方法其行为类似于身份提供商/安全性令牌服务,并产生特定于该用户的令牌,该令牌后,某些到期时间。然后,客户端必须发送带有每个Web方法请求的身份验证令牌,并通过为我的控制器创建自定义授权过滤器来确保它。
这种方法的优点是用户不必为每个请求发送用户名/密码,而只需要一个临时令牌。显然,管理令牌生活的缺点是;它应该何时到期?例如如果一小时内没有提出请求。
什么是为我的web服务实现身份验证和授权的最佳方式?
如果会话使用SSL进行保护,那么数据并不是以明文形式发送的,对吗? :-) – Craig 2013-06-24 15:20:37