5
私は人を認証するために私のWeb API用のActionFilterAttributeを作成しました。 RequestUriでaccessTokenを取得するのは問題ありませんが、フォームデータで送信したいと思います。 ActionFilterAttributeのonActionExecutingメソッドでRequest.Contentを読み取っている間、サーバーは常に空の結果を返します。どうすればこの問題を解決できますか?コードは次のようになります。ActionFilterAttributeでフォームデータを読む
public class RequireAuthorization : ActionFilterAttribute
{
public override void OnActionExecuting(System.Web.Http.Controllers.HttpActionContext actionContext)
{
actionContext.Request.Content.ReadAsStringAsync().ContinueWith((t) =>
{
try
{
//query will result in empty string
string query = t.Result;
string UserID = HttpUtility.ParseQueryString(query).Get("UserID");
string accessToken = HttpUtility.ParseQueryString(query).Get("AccessToken");
UserRepository repository = new UserRepository();
repository.IsTokenValid(Convert.ToInt32(UserID), accessToken);
}
catch (Exception ex)
{
var response = new HttpResponseMessage
{
Content =
new StringContent("This token is not valid, please refresh token or obtain valid token!"),
StatusCode = HttpStatusCode.Unauthorized
};
throw new HttpResponseException(response);
}
});
base.OnActionExecuting(actionContext);
}
}
をあなたは答えを見つけますか?私は同じ問題を抱えている – Ahmadreza