Php 关于使用JWT令牌访问API的CORS问题

Php 关于使用JWT令牌访问API的CORS问题,php,cors,symfony-3.2,lexikjwtauthbundle,Php,Cors,Symfony 3.2,Lexikjwtauthbundle,使用JWT令牌从angular访问Symfony REST API时,我面临CORS问题 IIS服务器已配置为使用域名和IP地址访问应用程序。前端代码位于Symfony的同一目录中 前端使用域名调用API。使用JWT令牌从IP地址访问应用程序会导致CORS问题,因为API指向域名 我已经在内核侦听器中使用以下选项设置了响应头 我正在使用lexik/jwt身份验证包生成令牌 我还使用以下选项设置了Nelmio CORS捆绑包 enter code hernelmio_cors: defau

使用JWT令牌从angular访问Symfony REST API时,我面临CORS问题

IIS服务器已配置为使用域名和IP地址访问应用程序。前端代码位于Symfony的同一目录中

前端使用域名调用API。使用JWT令牌从IP地址访问应用程序会导致CORS问题,因为API指向域名

我已经在内核侦听器中使用以下选项设置了响应头

我正在使用lexik/jwt身份验证包生成令牌

我还使用以下选项设置了Nelmio CORS捆绑包

enter code hernelmio_cors:
    defaults:
        allow_credentials: false
        allow_origin: []
        allow_headers: []
        allow_methods: []
        expose_headers: []
        max_age: 0
        hosts: []
        origin_regex: false
        forced_allow_origin_value: ~        
    paths:
        '^/api/':
            allow_origin: ['*']
            allow_headers: ['*']
            allow_methods: ['POST', 'PUT', 'GET', 'DELETE']
            max_age: 3600
        '^/':
            allow_origin: ['*']
            allow_headers: ['*']
            allow_methods: ['POST', 'PUT', 'GET', 'DELETE']
            max_age: 3600e
响应标题:

允许
选项、跟踪、获取、头、发布 内容长度
0 日期
2017年11月13日星期一16:03:22 GMT 公共
选项、跟踪、获取、头、发布 服务器
Microsoft IIS/10.0 X-Firefox-Spdy

提前谢谢

My web.config(Symfony 4):



“我面临一个CORS问题”-什么问题?是否有错误消息?上面说什么?触发它的客户端代码是什么?HTTP请求和HTTP响应看起来像什么?跨源请求被阻止:同源策略不允许读取远程资源。(原因:CORS标头“Access Control Allow Origin”丢失)。响应标头:Allow OPTIONS,TRACE,GET,HEAD,POST content length 0 date Mon,2017年11月13日16:03:22 GMT public OPTIONS,TRACE,GET,HEAD,POST server Microsoft IIS/10.0 X-Firefox-Spdy h2Hi,我遇到了相同的问题,您处理了吗?
enter code hernelmio_cors:
    defaults:
        allow_credentials: false
        allow_origin: []
        allow_headers: []
        allow_methods: []
        expose_headers: []
        max_age: 0
        hosts: []
        origin_regex: false
        forced_allow_origin_value: ~        
    paths:
        '^/api/':
            allow_origin: ['*']
            allow_headers: ['*']
            allow_methods: ['POST', 'PUT', 'GET', 'DELETE']
            max_age: 3600
        '^/':
            allow_origin: ['*']
            allow_headers: ['*']
            allow_methods: ['POST', 'PUT', 'GET', 'DELETE']
            max_age: 3600e
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
    <rewrite>
        <rules>
            <rule name="Imported Rule 1" stopProcessing="true">
                <match url="^(.*)$" ignoreCase="false" />
                <conditions logicalGrouping="MatchAll">
                    <add input="{REQUEST_FILENAME}" matchType="IsFile" ignoreCase="false" negate="true" />
                </conditions>
                <action type="Rewrite" url="index.php" appendQueryString="true" />
            </rule>
        </rules>
    </rewrite>
    <httpProtocol>
     <customHeaders>
       <add name="Access-Control-Allow-Headers" value="origin, content-type, accept,authorization" />
       <add name="Access-Control-Allow-Origin" value="*" />
       <add name="Access-Control-Allow-Methods" value="POST, GET, PUT, DELETE, PATCH, OPTIONS" />
       <add name="Access-Control-Allow-Credentials" value="true" />
     </customHeaders>
   </httpProtocol>
</system.webServer>
</configuration>