微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在 Node jS 中集成 OIDC Provider

如何解决如何在 Node jS 中集成 OIDC Provider

我尝试将 OIDC Provider 集成到 Node JS,并且我有一个示例代码。所以,我运行这个示例代码,它抛出一个错误(无法识别的路由或不允许的方法(GET on /api/v1/.well-kNown/openid-configuration))。问题是 Issuer(https://localhost:3000)这个发行人工作正常。但我将更改此 Issuer((https://localhost:3000/api/v1/)) 它不起作用如何解决此问题,当我在节点 js 中实现 oldc-provider 时,我也面临另一个问题。他们的路线被覆盖如何解决这个问题

示例.js

const { Provider } = require('oidc-provider');
const configuration = {
  // ... see available options /docs
  clients: [{
    client_id: 'foo',client_secret: 'bar',redirect_uris: ['http://localhost:3000/api/v1/'],true_provider: "pcc"
    // + other client properties
  }],};

const oidc = new Provider('http://localhost:3000/api/v1/',configuration);

// express/nodejs style application callback (req,res,next) for use with express apps,see /examples/express.js
oidc.callback()



// or just expose a server standalone,see /examples/standalone.js
const server = oidc.listen(3000,() => {
  console.log('oidc-provider listening on port 3000,check http://localhost:3000/api/v1/.well-kNown/openid-configuration');
});

错误

enter image description here

解决方法

使用路径组件定义颁发者标识符不会影响任何路由。

您有两个选项,要么将提供程序挂载到路径(请参阅 docs),要么定义您希望为每个端点添加前缀的实际路径(请参阅 docs)。

我认为您正在寻找一种挂载方式,所以第一个。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。