2012-03-05 83 views
2

我们有一个基于ruby的API,我们的C#服务需要使用基于令牌的身份验证进行查询。在httpwebrequest方法的文档中我没有看到它支持这一点。有其他选择吗?HttpWebRequest是否支持基于令牌的认证?

+0

这意味着你认证并获得一个令牌的那种API,然后传递给你,以证明你已被认证? – aepheus 2012-03-05 21:56:35

+0

什么是令牌?一个cookie或一个POST参数? – 2012-03-05 21:58:33

回答

2

基于令牌的认证没什么特别的。它仍然通常使用HTTP,因此HttpWebRequest应该可以正常工作。这是通常发生的基于令牌的身份验证的方式。

首先,有涉及令牌或基于声明的身份验证三种不同的政党。正在进行身份验证的服务器,正在进行身份验证的客户端以及第三方(令牌提供程序)。典型的认​​证只包括一个客户端和一个服务器,但是在基于令牌的认证的情况下,存在令牌提供者。令牌提供程序对于客户端而言是已知的,并且受服务器的信任。

由客户端做出的HTTP请求令牌提供者,请求提供者的认证处理进行到提供一个令牌发送给客户端。当然,在这一点上,客户端很可能需要向令牌提供者进行身份验证 - 这通常是使用传统的身份验证方法完成的。假设客户端向令牌提供者进行身份验证,令牌提供者将使用令牌进行响应。然后客户端获取该令牌并向包含该令牌的服务器发出请求。令牌已经被签名,以便服务器可以知道令牌来自其可信令牌提供者以及客户端应具有的权限。

长话短说,HttpWebRequest应该是完全足够了。唯一的问题是你必须知道服务器和令牌提供者的所有细节,比如客户端应该如何向令牌提供者进行认证(基本HTTP认证?发布用户名/密码?),令牌供应商与令牌响应(包含在响应?使用cookies?),然后服务器希望如何在客户端使用令牌(发布令牌服务器?设置cookie与令牌?)认证等

+1

谢谢 - 而且,它只是我输入的格式。令牌是一个URL参数,我之前没有使用过它! :) – Darkenor 2012-03-05 22:37:39

+0

很高兴我能帮上忙。 – 2012-03-06 15:01:20

相关问题