我使用Web API 2创建了一个基于OData的Web后端。这在控制器上使用AuthorizeAttribute非常有效。
我希望能够通过标准的html表单和提交上传文件。
我们正在传递OAuth令牌,该令牌通常会在OData请求的标头中传递,作为隐藏的输入字段。
问题:如何在控制器中验证这一点?
答案 0 :(得分:4)
然后你需要取消保护令牌,然后取消"票证"检查是否有主体以及是否经过身份验证(检查属性IsAuthenticated)。使用控制器内的以下代码:
string token = "Your token goes here";
Microsoft.Owin.Security.AuthenticationTicket ticket = Startup.OAuthBearerOptions.AccessTokenFormat.Unprotect(token);