C# HttpWebRequest能否支持基于令牌的身份验证?
我们有一个基于ruby的API,我们的C#服务需要查询该API,该API使用基于令牌的身份验证。在httpwebrequest方法的文档中,我看不到它支持这一点。有替代方案吗?基于令牌的身份验证没有什么特别之处。它仍然通常使用HTTP,因此C# HttpWebRequest能否支持基于令牌的身份验证?,c#,C#,我们有一个基于ruby的API,我们的C#服务需要查询该API,该API使用基于令牌的身份验证。在httpwebrequest方法的文档中,我看不到它支持这一点。有替代方案吗?基于令牌的身份验证没有什么特别之处。它仍然通常使用HTTP,因此HttpWebRequest应该可以正常工作。基于令牌的身份验证通常就是这样发生的 首先,基于令牌或声明的身份验证涉及三个不同的方面。正在向令牌提供程序进行身份验证的服务器、正在进行身份验证的客户端和第三方。典型的身份验证仅包括客户端和服务器,但在基于令牌的身
HttpWebRequest
应该可以正常工作。基于令牌的身份验证通常就是这样发生的
首先,基于令牌或声明的身份验证涉及三个不同的方面。正在向令牌提供程序进行身份验证的服务器、正在进行身份验证的客户端和第三方。典型的身份验证仅包括客户端和服务器,但在基于令牌的身份验证的情况下,存在令牌提供者。客户端知道令牌提供程序,服务器信任该提供程序
身份验证过程由客户端向令牌提供程序发出HTTP请求,请求提供程序向客户端提供令牌。当然,在这一点上,客户端很可能需要向令牌提供者进行身份验证——这通常是使用传统的身份验证方法来完成的。假设客户端向令牌提供程序进行身份验证,令牌提供程序将使用令牌进行响应。然后,客户机获取该令牌并向服务器发出包含该令牌的请求。令牌已被签名,这样服务器就可以知道令牌来自其受信任的令牌提供程序,以及客户端应该具有哪些特权
长话短说,
HttpWebRequest
应该已经足够了。唯一的问题是,您必须知道服务器和令牌提供程序的所有细节,例如客户端应该如何向令牌提供程序进行身份验证(基本HTTP身份验证?发布的用户名/密码?),令牌提供程序如何使用令牌响应(包括在响应中?设置cookies?),然后,服务器如何期望客户端使用令牌进行身份验证(将令牌发布到服务器?使用令牌设置cookie?)等等。这意味着您在API中进行身份验证并获取令牌,然后传递令牌以显示您已通过身份验证。令牌是什么?一个cookie,还是一个POST参数?谢谢-是的,这正是我输入它的格式。令牌是一个URL参数,我以前从未这样使用过它!:)