有许多在线资源描述如何在 .net web 应用程序中配置 CORS。但我还没有能够使任何东西工作起来。
这是我的 API 应用程序的当前配置:
这也不起作用。
我为每个控制器添加了CORS修饰符:
这也没有起作用。
我正在尝试使用Intuit的QuickBooks API,并在尝试获取授权时收到以下CORS缺少允许来源错误:
什么我错过了?
这是我的 API 应用程序的当前配置:
Installed nuget Microsoft.AspNet.WebApi.Cors
updated WebApiConfig.cs:
public static void Register(HttpConfiguration config) {
var cors = new EnableCorsAttribute(origins: "*", headers: "*", methods: "*"); config.EnableCors(cors); config.MapHttpAttributeRoutes(); config.Routes.MapHttpRoute( name: "DefaultApi", routeTemplate: "api/{controller}/{action}/{id}", defaults: new { action = RouteParameter.Optional, id = RouteParameter.Optional } ); }
<system.webServer>
<httpProtocol>
<customHeaders>
<add name="Access-Control-Allow-Origin" value="*" />
<add name="Access-Control-Allow-Headers" value="*" />
</customHeaders>
</httpProtocol>
<handlers>
<remove name="ExtensionlessUrlHandler-Integrated-4.0" />
<remove name="OPTIONSVerbHandler" />
<remove name="TRACEVerbHandler" />
<add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="*" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" />
</handlers>
</system.webServer>
这也不起作用。
我为每个控制器添加了CORS修饰符:
namespace ABC_API.Controllers
{
[EnableCors(origins: "*", headers: "*", methods: "*")]
public class ABCController : ApiController
这也没有起作用。
我正在尝试使用Intuit的QuickBooks API,并在尝试获取授权时收到以下CORS缺少允许来源错误:
Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource
at https://appcenter.intuit.com/connect/oauth2?client_id=ABkU7xzdcdsg1vSsKZ7NKZeypTST0EmnyvFhSNPMJM3NShYd5r&response_type
=code&scope=com.intuit.quickbooks.accounting&redirect_
uri=http%3A%2F%2Flocalhost%2FDW_QB_API%2Fapi%2Fauth&
state=e2543d40145e4eb30dbc4da099501d13aca48bc30b6529ad6af74acaae330581.
(Reason: CORS header ‘Access-Control-Allow-Origin’ missing)
什么我错过了?