OAuth 2.0 OpenID Connect Loopback 和 Keycloak

2024-01-08

我无法从 Loopback 连接到 Keycloak。

我一直在尝试使用 keycloak-connect 库:

https://github.com/keycloak/keycloak-nodejs-connect https://github.com/keycloak/keycloak-nodejs-connect

这是我目前的server/boot/root.js

module.exports = function (server) {
    var session = require('express-session');
    var Keycloak = require('keycloak-connect');

    var memoryStore = new session.MemoryStore();

    var keycloak = new Keycloak({
        store: memoryStore
    });

    server.use(session({
        secret: 'xxx',
        resave: false,
        saveUninitialized: true,
        store: memoryStore,
    }))

    server.use(keycloak.middleware({}));

    server.get('/*', keycloak.protect(), function (req, resp) {
        resp.send('hello');
    })

};'

看起来很简单,但它陷入了重定向循环。

我也尝试过交换

server.use(session

with

 server.use(keycloak

但随后看到“无法读取未定义的属性‘keycloak-token’”

被困在这个问题上有一段时间并尝试了一切。还有其他想法吗?

提前致谢!


看来您可能需要告诉您的 Keycloak 实例使用您在初始化时创建的内存存储,如下所示:

var keycloak = new Keycloak({ store: memoryStore });

希望能解决问题。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

OAuth 2.0 OpenID Connect Loopback 和 Keycloak 的相关文章

  • JQuery datepickers-从开始日期设置结束日期

    使用了两个 Jquery 日期选择器 StartDate 和 EndDate
  • 在随机位置启动 HTML5

    我有一个大约 2 小时长的音轨 我想在我的网站上使用它 我希望它在页面加载时在随机位置开始播放曲目 使用 HTML5 可以吗 我知道您可以使用 element currentTime 函数来获取当前位置 但是如何在完全下载之前获取曲目的总时
  • Mapbox GL 中的 MaxBounds 和自定义非对称填充

    我有一个 Mapbox GL JS 应用程序 在地图上显示一些小部件 为了确保地图上的任何内容都不会被它们隐藏 我使用以下命令添加了一些填充map setPadding 这是一个不对称的 在我的例子中左边比右边大 它按预期工作 例如fitB
  • 纤维/未来实际上有什么作用?

    下面这行代码的作用是什么 Npm require fibers future 我在网上查找示例 发现了一些这样的示例 Future Npm require fibers future var accessToken new Future 什
  • 在javascript中访问函数内的实例变量?

    如何以最简单的方式访问函数内的实例变量 function MyObject Instance variables this handler Methods this enableHandler function var button doc
  • 检测 Google 验证码的挑战窗口何时关闭

    我正在使用谷歌隐形验证码 有没有办法检测挑战窗口何时关闭 我所说的挑战窗口是指您必须选择一些图像进行验证的窗口 目前 我在按钮上放置了一个旋转器 一旦单击按钮 就会呈现验证码挑战 无法向用户提示另一个质询窗口 我以编程方式调用渲染函数 gr
  • JavaScript 将键添加到数组中的每个值

    我下面有这个数组 它由一个简单的数组组成 我想要完成的是放一把钥匙id在每个数组值前面以实现类似的效果 id a id b id c id d 有没有一种简单的方法可以做到这一点 任何帮助将不胜感激 谢谢 var test a b c d
  • 如何在 React Native 上显示 SVG 文件?

    我想显示 svg 文件 我有一堆 svg 图像 但我找不到显示的方式 我尝试使用Image and Use的组成部分反应本机 svg https github com magicismight react native svg但他们不这样做
  • 如何将 arraylist 从 servlet 传递到 javascript?

    我通过在属性中设置数组列表并将其转发到 jsp 来从 servlet 传递数组列表 Servlet ArrayList
  • 当我多次调用 requestAnimationFrame 时会发生什么

    我的意思是一次调用多个具有相同功能的 requestAnimationFrame function Draw DoSomething function AFunc prepare something requestAnimationFram
  • ES6继承:使用`super`访问父类的属性

    JavaScript 的super关键字 当我在 Chrome Babel TypeScript 上运行代码时 得到了不同的结果 我的问题是哪个结果是正确的 规范的哪一部分定义了这种行为 下面的代码 class Point getX con
  • javascript 是否有等效的 __repr__ ?

    我最接近Python的东西repr这是 function User name password this name name this password password User prototype toString function r
  • 如何动态调整jqgrid到当前窗口大小?

    如何动态调整jqgrid到当前窗口大小 基于javascript jQuery 最好的例子在这里 TinyMCE 去 http www tinymce com tryit full php http www tinymce com tryi
  • Service Worker 与 Shared Worker

    Service Worker 和 Shared Worker 有什么区别 我什么时候应该使用 Service Worker 而不是 Shared Worker 反之亦然 Service Worker 具有共享 Worker 之外的附加功能
  • ChartJs:如何按时间值(而不是像素)以编程方式平移

    我使用的是chartJs 3 6 1 和 Chartjs plugin zoom 1 2 1 但我认为这并不重要 我有 2 个时间序列折线图 当我通过拖放平移一个图表时 我也想移动 平移另一个图表 为此 我为 graphA 启用了缩放 平移
  • 使用 ref 触发反应 dropzone 不起作用

    我正在实现这个库 https github com felixrieseberg React Dropzone Component https github com felixrieseberg React Dropzone Compone
  • ThreeJS 中阴影的奇怪行为

    所以我有一个 ThreeJS 场景 并且添加了一些球体 多材质 我还添加了定向光 this light new THREE DirectionalLight 0xFFFFFF 1 this light position set 2 10 2
  • 如何在查询语句之外从mysql查询中获取值?

    这是下面的函数console log function quo value value connection query SELECT role from roles where id 1 function error results fi
  • ng-include 和 ng-view 不同时加载

    下面是我的应用程序的结构 很简单 页眉和页脚是非常小的文件 而主页上的 ng view 要大得多 当我进入该页面时 我注意到了这一点 首先加载两个 ng include 然后 ng view 出现 页脚被推到底部 页脚闪烁大约 0 1 秒
  • 确定 Javascript 中的日期相等性

    我需要找出用户在 Javascript 中选择的两个日期是否相同 日期以字符串 xx xx xxxx 形式传递给该函数 这就是我需要的全部粒度 这是我的代码 var valid true var d1 new Date datein val

随机推荐

  • layout_gravity 上的动画

    在Android中 是否可以应用动画layout gravity 例如假设我想改变layout gravity of a View e g Button 从右到左
  • 如何在 Capybara 中使用 ruby​​-debug 和 selenium

    我们让 Capybara 使用 selenium 驱动程序 但是当我尝试在步骤中使用 调试器 时 它不太工作 例如在调试控制台中输入 page 有效 但输入 page body 会挂起 当尝试将调试器与 akephalos 驱动程序一起使用
  • Rails 路由中要测试什么?

    我很好奇人们认为什么是充分 彻底的路线测试 和我一起工作的一个人似乎想要断言every路线在我们的路线文件中 无论多么标准 我觉得这是浪费时间 但也许我错了 而且我没有意识到这有一些价值 在某些情况下 我可以看到路由的一些价值 我们仍然有一
  • 后台大JSON优化解析

    我正在解析类似于的大型 JSON 数据像这样的一个 https mangadex org api manga 153 大约有3000 chapter这里的对象 我只需要那些chapter对象与 lang code gb 大约有 1300 个
  • 作为页面发布到 Facebook 页面墙

    我想使用 PHP 作为页面发布到 facebook 页面墙 我通过下面的链接获得了access token https graph facebook com oauth authorize type user agent client id
  • OpenCL 中的最佳本地/全局工作规模

    我想知道如何在 OpenCL 中为不同设备选择最佳的本地和全局工作大小 AMD NVIDIA INTEL GPU 有什么通用规则吗 我是否应该分析设备的物理构建 多处理器数量 多处理器中的流处理器数量等 这取决于算法 实现吗 因为我看到一些
  • 如何以编程方式将视图控制器嵌入到导航视图控制器中

    我正在尝试将视图控制器嵌入到导航视图控制器中 以便获得导航栏和所有其他内容 例如后退按钮 我想以编程方式完成它 它是这样完成的 example ViewController let myVC UIViewController create
  • Xcode:ld:找不到 -lAFNetworking 的库

    由于这个原因 构建总是失败 关于我可以尝试什么的任何想法 编辑 解决方案是打开 xcworkspace 而不是 xcproject 可能是您在安装 pod 后打开 xcodeproj 文件 关闭项目并打开 xcworkspace 文件
  • 从文件输入中查找java中的最大值

    我是Java新手 我正在尝试编写一个程序 要求用户输入仅包含数字的txt文件的名称 该程序将输出文件中数字的总和 平均值 最大值和最小值 我已经编写了程序的大部分内容 但是我一直在尝试找到值的最大值和最小值 您提供的任何信息都会有所帮助 如
  • 运行 sp_executesql 查询需要参数 @statement

    我不确定如何解决此错误 过程或函数 sp executesql 需要参数 statement 但未提供该参数 对于此查询 DECLARE a INT DECLARE b VARCHAR SET a 1 WHILE a lt 30 BEGIN
  • Python lxml etree.tostring() 返回在 mod_wsgi 上运行的空字符串

    我在 CentOS 6 8 上有 Python 2 7 8 我的服务器是基于 Apache2 WSGI 构建的 我的应用程序应该处理通过 http POST 收到的日期 然后根据从本地 xml 文件获取的 XML 模板创建指令 最后 它必须
  • 如何在C中获取grep的输出[重复]

    这个问题在这里已经有答案了 我正在使用函数 execl 在我的 C 代码中执行 grep 命令 并且我想在我的 C 程序中使用此命令的输出 我该怎么做 您可以使用popen include
  • 如何将调试断点添加到 Visual Studio 2015 中“查找结果”窗口中显示的行

    之前版本的 Visual Studio VS 已回答过此问题 提供的解决方案涉及宏 这些宏在 VS 2015 中不再可用 我可以获得 VS 2015 的解决方案吗 我想在 VS 中进行 查找全部 并在查找匹配的每一行上放置一个调试断点 链接
  • 如何使用新的 YouTube 数据 API (V3) 获取特定频道的已上传视频列表?

    我正在尝试获取所有上传到频道的视频的视频 ID 列表 我还想使用新版本的 YouTube Data API V3 我该怎么做呢 您必须获取上传播放列表 ID 才能上传每个视频 为此 您需要获取频道 ID 从频道 ID 获得播放列表 ID 后
  • 如何更改matplotlib中误差线限制的标记符号?

    只是一个简单的问题 我在其中找不到任何有用的信息plt errorbar文档 https matplotlib org 3 1 1 api as gen matplotlib pyplot errorbar html 我想用误差线绘制值 i
  • mongodb服务器端javascript实际上是客户端?

    我有大量文档 我想提取一些统计数据 需要每 15 分钟定期执行一次 大多数统计数据都是基于文档大小 因此我需要获取文档并计算其大小 我的统计信息的输出只是一行 其中包含一些有关文档大小的统计信息 我没有获取整个集合 只是它的一个子集 所以我
  • SHA 和 AES 加密有什么区别? [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 SHA 和 AES 加密有什么区别 SHA 不是加密 它是一种单向哈希函数 AES 高级加密标准 是一种对称加密标准 AES 参考 http en w
  • Spring集成IDE

    我记得在 Spring Tool Suite 中看到过用于设计 Spring Integration 工作流程的调色板 很久以前 但我在 Spring Tool Suite 4 x 中找不到它 有人可以告诉我它是否可以作为单独的附加组件使用
  • 替代 async/await

    在我的应用程序中 我有最新分数列表 有时我必须更新 我有这两个函数可以做到这一点 function handleLastestScoresChange scope newLatestScores getNewLatestScores the
  • OAuth 2.0 OpenID Connect Loopback 和 Keycloak

    我无法从 Loopback 连接到 Keycloak 我一直在尝试使用 keycloak connect 库 https github com keycloak keycloak nodejs connect https github co