我使用OAuth 2.0为MVC,一个.NET库的oauth2工作。 我建立一个Web API项目,但是,我希望能得到这个库的Web API来工作。
我遇到的问题是,该库使用上,它从控制器调用HttpRequestBase两个扩展方法。
下面是扩展方法:
public static string GetToken(this HttpRequest request)
{
var wrapper = new HttpRequestWrapper(request);
return GetToken(wrapper);
}
public static string GetToken(this HttpRequestBase request)
{
if (request == null)
return String.Empty;
// Find Header
var headerText = request.Headers[OAuthConstants.AuthorzationHeader];
if (!String.IsNullOrEmpty(headerText))
{
var header = new AuthorizationHeader(headerText);
if (string.Equals(header.Scheme, "OAuth", StringComparison.OrdinalIgnoreCase))
return header.ParameterText.Trim();
}
// Find Clean Param
var token = request.Params[OAuthConstants.AuthorzationParam];
return !String.IsNullOrEmpty(token)
? token.Trim()
: String.Empty;
}
在MVC项目,他们只是从控制器调用Request.GetToken()。 当然,网络API的请求是HttpRequestMessage。 恐怕寻址消息是超出了我的能力,现在之间的HttpRequest和HttpRequest的区别。
我可以把这个扩展方法与HttpRequestMessage工作或以某种方式使其在网络API工作吗?
谢谢!