Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/316.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# HttpWebRequest能否支持基于令牌的身份验证?_C# - Fatal编程技术网

C# HttpWebRequest能否支持基于令牌的身份验证?

C# HttpWebRequest能否支持基于令牌的身份验证?,c#,C#,我们有一个基于ruby的API,我们的C#服务需要查询该API,该API使用基于令牌的身份验证。在httpwebrequest方法的文档中,我看不到它支持这一点。有替代方案吗?基于令牌的身份验证没有什么特别之处。它仍然通常使用HTTP,因此HttpWebRequest应该可以正常工作。基于令牌的身份验证通常就是这样发生的 首先,基于令牌或声明的身份验证涉及三个不同的方面。正在向令牌提供程序进行身份验证的服务器、正在进行身份验证的客户端和第三方。典型的身份验证仅包括客户端和服务器,但在基于令牌的身

我们有一个基于ruby的API,我们的C#服务需要查询该API,该API使用基于令牌的身份验证。在httpwebrequest方法的文档中,我看不到它支持这一点。有替代方案吗?

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

首先,基于令牌或声明的身份验证涉及三个不同的方面。正在向令牌提供程序进行身份验证的服务器、正在进行身份验证的客户端和第三方。典型的身份验证仅包括客户端和服务器,但在基于令牌的身份验证的情况下,存在令牌提供者。客户端知道令牌提供程序,服务器信任该提供程序

身份验证过程由客户端向令牌提供程序发出HTTP请求,请求提供程序向客户端提供令牌。当然,在这一点上,客户端很可能需要向令牌提供者进行身份验证——这通常是使用传统的身份验证方法来完成的。假设客户端向令牌提供程序进行身份验证,令牌提供程序将使用令牌进行响应。然后,客户机获取该令牌并向服务器发出包含该令牌的请求。令牌已被签名,这样服务器就可以知道令牌来自其受信任的令牌提供程序,以及客户端应该具有哪些特权


长话短说,
HttpWebRequest
应该已经足够了。唯一的问题是,您必须知道服务器和令牌提供程序的所有细节,例如客户端应该如何向令牌提供程序进行身份验证(基本HTTP身份验证?发布的用户名/密码?),令牌提供程序如何使用令牌响应(包括在响应中?设置cookies?),然后,服务器如何期望客户端使用令牌进行身份验证(将令牌发布到服务器?使用令牌设置cookie?)等等。

这意味着您在API中进行身份验证并获取令牌,然后传递令牌以显示您已通过身份验证。令牌是什么?一个cookie,还是一个POST参数?谢谢-是的,这正是我输入它的格式。令牌是一个URL参数,我以前从未这样使用过它!:)