【问题标题】:Express OpenId Connect app not redirecting after getting tokenExpress OpenId Connect 应用程序在获取令牌后未重定向
【发布时间】:2022-07-20 02:04:28
【问题描述】:

我正在连接到 Open Id Connect 提供商,这是我的代码。

const express = require('express');
const { auth } = require('express-openid-connect');
require('dotenv').config();
const app = express();
process.env["NODE_TLS_REJECT_UNAUTHORIZED"] = 0;
const jwt_decoder = require('jwt-decode');  

app.use(
  auth({
    issuerBaseURL: '***',
    baseURL: 'http://localhost:3000',
    clientID: 'client_id',
    secret: 'long string',
    idpLogout: false,
    authRequired:true,
    authorizationParams:{
    response_type: 'code',
    scope: 'openid profile email',
    response_mode: "form_post",
    redirectUriPath: 'http://localhost:3000/callback',
   
    }
  })
);
app.get('/', (req, res) => {
 //console.log(res)
  console.log(req.oidc.accessToken.access_token)
  var decoded = jwt_decoder(req.oidc.accessToken.access_token); // Decoding
  console.log(decoded);
  res.send(`hello ${decoded.Username} from ${decoded.OrgName}`);
  
});

app.get('/callback', (req, res) => {
    console.log("redirected")
    res.send("logged in");
  });

app.set('trust proxy', true);
app.listen(3000, () => console.log('listening at http://localhost:3000'))

授权后不去callback,而是来到'/'。我在那里得到了可以解码的令牌。我已经要求身份验证服务器调用 /callback 但它没有。

【问题讨论】:

    标签: node.js express openid-connect


    【解决方案1】:

    Here解释为:

    // The `auth` router attaches /login, /logout 
    // and /callback routes to the baseURL to the baseURL 
    app.use(auth(config));
    

    Express OpenID Connect SDK 在后台处理这些路由。如果你想玩,你可以在添加app.use(auth(config))之前添加你的callback路线。但是你的流程可能会中断。

    【讨论】:

      猜你喜欢
      • 2017-06-04
      • 2017-06-21
      • 1970-01-01
      • 2021-10-12
      • 1970-01-01
      • 2021-12-20
      • 1970-01-01
      • 2017-09-26
      • 1970-01-01
      相关资源
      最近更新 更多