首页 > 解决方案 > 节点 oidc-provider /me 端点 401 invalid_token 错误

问题描述

我一直在用 express 实现 oidc-provider。我面临很多天(实际上是几个星期)的一些问题。我在 Google 上搜索了很多,并阅读了官方 GitHub 上的几乎所有问题,但遗憾的是这并没有解决我的问题。

对于上下文,我正在使用

  1. v7.5.4 for oidc-provider
  2. Windows 10 专业版 20H2(内部版本 19042.1110)
  3. 节点 v 14.17.1
  4. MongoDB Community Server 4.2.0(独立服务器)(用于缓存,即会话管理等)
  5. MongoDB Atlas(集群)(用于用户存储等)
  6. 使用 oidc-react 进行 oidc 客户端模拟。
  7. 我正在尝试使用 PKCE 实现授权代码流。

这是我面临的问题;

  1. 在我的本地机器中,代码已成功交换为 access_token @ /token 端点。但是使用相同的令牌访问 /me 端点会返回 invalid_token 错误。我已经尝试了很多事情来找出原因,但徒劳无功。如此处所述,我尝试禁用我的 Mongo 适配器并尝试使用内存适配器,但这也失败了。堆栈跟踪将我带到 /lib/actions 内的第 70 行和第 71 行(validateAccessToken 方法)userinfo.js,其中 accessTokenValue 具有访问令牌,但在数据库中搜索它时返回未定义。不过,我已经使用 db 工具验证了它实际上存在于数据库中。
  2. 为了测试,我在 AWS ec2 上部署了相同的代码,但我总是得到 session not found 错误。我已经使用 MongoAdapter 以及内存适配器进行了测试,但结果相同。

任何形式的帮助都会受到高度赞赏,因为我已经被困在这里很多天了。

问候

标签: openid-connectoidc-providernode-oidc-provider

解决方案


推荐阅读