Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js ReactJs调用NodeJs api失败,出现错误-';密钥斗篷令牌';未定义的?_Node.js_Reactjs_Keycloak - Fatal编程技术网

Node.js ReactJs调用NodeJs api失败,出现错误-';密钥斗篷令牌';未定义的?

Node.js ReactJs调用NodeJs api失败,出现错误-';密钥斗篷令牌';未定义的?,node.js,reactjs,keycloak,Node.js,Reactjs,Keycloak,我已经将nodejsapi与keydrope集成,下面是keydrope配置 { "realm": "realm", "auth-server-url": "<IP-ADDRESS>/auth/", "ssl-required": "external", "resource": "client-id", &

我已经将nodejsapi与keydrope集成,下面是keydrope配置

{
  "realm": "realm",
  "auth-server-url": "<IP-ADDRESS>/auth/",
  "ssl-required": "external",
  "resource": "client-id",
  "verify-token-audience": true,
  "public-client": true,
  "use-resource-role-mappings": true,
  "confidential-port": 0,
  "policy-enforcer": {}
}
现在用它测试邮递员和在头通过
“授权:承载令牌”
,它的工作完全正常

现在,当尝试访问同一个api时出现问题,但它失败了

function getAll(pageNo, limit){
    return httpClient({
        url: `api/posts?page=${pageNo}&limit=${limit}`,
        method: 'GET',
        headers: {
          'Content-type': 'application/json',
          'Authorization': 'Bearer ' +sessionStorage.getItem('authentication'),
          'Access-Control-Allow-Origin': '*'
      },
    });
}
它失败了,错误如下

TypeError:无法读取未定义的属性“KeyClope token”


我之所以会遇到这个问题,是因为nodejs
cors
是在keydepeat初始化之后添加的

const keycloak = require('./config/keycloak-config.js').initKeycloak();
app.use(keycloak.middleware()); 
app.use(cors({ origin: true }));
应该是哪一个

app.use(cors({ origin: true }));
const keycloak = require('./config/keycloak-config.js').initKeycloak();
app.use(keycloak.middleware()); 

我之所以会遇到这个问题,是因为nodejs cors是在keydepate初始化之后添加的

app.use(keydaveat.middleware())

 app.use(cors())

您是否为CORS添加了
'Access-Control-Allow-Origin':'*'
?@StackedQ在reactjs代码中已经看到了它。它应该在express端,而不是FrontEnd,我正在使用
app.use(CORS({Origin:true}))
 app.use(cors())