Tôi đã tạo một ActionFilterAttribute cho api web của mình để ủy quyền cho mọi người. Nhận accessToken bởi RequestUri là okay, tuy nhiên tôi muốn gửi nó trong dữ liệu biểu mẫu. Trong khi đọc Request.Content trong phương thức onActionExecuting của ActionFilterAttribute, máy chủ luôn có kết quả rỗng. Làm thế nào tôi có thể giải quyết vấn đề này? Mã này giống như sau:Đọc biểu mẫu dữ liệu trong 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);
}
}
Bạn đã tìm thấy câu trả lời? Tôi đang gặp vấn đề – Ahmadreza