我想改变node.js来做出反应

问题描述 投票:0回答:1

我正在尝试将示例从 Node.js 更改为 React,但是

app.post('/AuthCallBack'
不在这里。 并且 token 是 undifiend 或 null

如何更改代码?

app.get('/', function (req, res) {
  var idpUrl = config.AuthorizeUrl;
  var params = '?client_id=' + config.ClientID;
  params += '&redirect_uri=' + encodeURIComponent(config.AuthCallbackUrl);
  params += '&response_mode=form_post';
  params += '&response_type=code+id_token';
  params += '&scope=openid+profile';
  params += '&nonce=' + uuid.v4();
  res.redirect(idpUrl + params);
});

app.post('/AuthCallBack', function (req, res) {
  var idToken = req.body.id_token;
  var cert = fs.readFileSync(config.VerifyCertFile);
  var decoded;
  try {
    decoded = jwt.verify(idToken, cert, {
      algorithms: 'RS256',
      issuer: config.Issuer,
    });
  } catch (err) {
    res.locals.message = err.message;
    res.locals.error = req.app.get('env') === 'development' ? err : {};
    res.status(err.status || 500);
    res.render('error');
  }
  res.render('home', { payload: decoded });
});
javascript reactjs node.js
1个回答
-1
投票

函数 adLogin(){

axios.get("/",{headers: {
         Authorization : jwt
     }}).then(function (response){
    //response
     const token: string = response.data['token'] as string;
     const refreshToken: string = response.data['refresh_token'] as string;
     localStorage.setItem('token', token);
     localStorage.setItem('refreshToken', refreshToken);

     var idpUrl = AppConfig.AuthorizeUrl;
     var params = "?client_id=" + AppConfig.ClientID;
         params += "&redirect_uri=" +  encodeURIComponent(AppConfig.AuthCallbackUrl);   // encodeURIComponent("https://localhost:8888/AuthCallBack");
         params += "&response_mode=form_post";
         params += "&response_type=code+token";
         params += "&scope=openid+profile";
         params += "&nonce=" + uuidv4;

     window.location.href = idpUrl+params
}).catch(function (error){

});

axios.post('/AuthCallBack', data, {
     headers: {
         Authorization : jwt
     }
}).then(function(response)  {
     const token: string = response.data['token'] as string;
     const refreshToken: string = response.data['refresh_token'] as string;
     var cert = fs.readFileSync(AppConfig.VerifyCertFile);
     var decoded;

     localStorage.setItem('token', token);
     localStorage.setItem('refreshToken', refreshToken);


});

}

我试过了,但没用

© www.soinside.com 2019 - 2024. All rights reserved.