我正在为网络应用程序构建受保护的api
为每个Web服务调用客户端发送访问令牌
当根据访问令牌调用资源时,它会返回不同的响应
例如: - 致电/员工只会返回无障碍员工。将为每个访问令牌定义可访问性
我的问题是如果根据访问令牌返回不同的东西,如何缓存响应是可能的
是缓存中考虑的请求的访问令牌部分?
如果API不可缓存,那么它可以是REST吗?
是部分访问REST中允许的资源吗?
答案 0 :(得分:-1)
@DamithK请清除你想要做什么我没有得到它......“当根据访问令牌调用资源时,它会返回不同的响应。 但据我所知,你想要验证你的每个api电话。 如果您使用RestClient进行呼叫api,您可以通过以下方式进行。请致电Api
var client = new RestClient(Serviceurl);
var request = new RestRequest("/Apimethod/{Inputs}?oauth_consumer_key=1ece74e1ca9e4befbb1b64daba7c4a24", Method.GET);
IRestResponse response = client.Execute(request);
在您的服务中
public static class Authentication
{
public static bool AuthenticateRequest(IncomingWebRequestContext context)
{
bool Authenticated = false;
try
{
NameValueCollection param = context.UriTemplateMatch.QueryParameters;
if (param != null && param["oauth_consumer_key"] != null)
{
string consumerSecretKey = "1ece74e1ca9e4befbb1b64daba7c4a24";
Authenticated = param["oauth_consumer_key"] == consumerSecretKey;
}
else
{
WebOperationContext.Current.OutgoingResponse.StatusCode = HttpStatusCode.Unauthorized;
}
}
catch (Exception)
{
}
return Authenticated;
}
}
使用
验证被调用方法中的每个请求Authentication.AuthenticateRequest(WebOperationContext.Current.IncomingRequest)
所有这些都是c#代码