javascript - 用于前端开发的可插拔 Keycloak-JS
问题描述
我们正在使用Keycloak
withkeycloak-js
来保护我们在生产中的 Web 应用程序。所以它被深度集成到我们的前端中。要开始开发,我们总是需要启动一个 keycloak 容器。
有没有什么好的方法可以绕过 keycloak-js 并在开发过程中摆脱 keycloak 容器?
当前的方法是启用功能切换NODE_ENV
。
你怎么看?
解决方案
目前,我使用webpack.DefinePlugin
. 我在构建过程中定义了一个MYAPP_PRODUCTION
变量并通过 Webpack 替换它。如果MYAPP_PRODUCTION
是 false 覆盖我的 keycloak 对象/导出并模拟所需的功能。
Webpack 配置:
更多信息:https ://webpack.js.org/plugins/define-plugin/
new webpack.DefinePlugin({
MYAPP_PRODUCTION: JSON.stringify(true),
...
}
在应用程序内部引导
// sourcecode
if(!MYAPP_PRODUCTION) {
// mock keycloak here
}
生产模式下的编译输出将不包括 if 子句中的语句。webpack 将自动省略条件内容,因为 if (!true) { ... }
它永远不会为真。
推荐阅读
- postgresql - 如何将 Firebird 的触发器迁移到 PostgreSQL
- r - name(.GlobalEnv) 是如何排序的?
- python - 使用 BeautifulSoup 在循环中从不同站点提取表
- reactjs - 如何在没有依赖关系的情况下修复 react-hooks/exhaustive-deps linting 错误
- javascript - Async/await inside for...of vs. map
- python - python.org教程列表+地图示例错误
- terraform - 如何忽略块中属性的变化
- html - Angular6默认上下文菜单
- python - SQL 查询并不总是插入缺失值
- mysql - 多选时如何使用 SQL_CALC_FOUND_ROWS