Oauth2 用の .NET ライブラリである MVC 用の OAuth 2.0 を使用しています。ただし、私は Web Api プロジェクトを構築しており、このライブラリを Web Api で動作させることを望んでいます。
私が直面している問題は、ライブラリがコントローラーから呼び出す HttpRequestBase で 2 つの拡張メソッドを使用していることです。
拡張メソッドは次のとおりです。
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() を呼び出すだけです。もちろん、Web Api のリクエストは HttpRequestMessage です。残念ながら、HttpRequest と HttpRequest メッセージの違いに対処することは、現時点では私の能力を超えています。
この拡張メソッドを HttpRequestMessage で動作するように変換したり、何らかの形で Web Api で動作させることはできますか?
ありがとう!