You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

仅在VueJS开发测试环境禁用Keycloak的代码实现咨询

实现方案

核心逻辑:通过你已配置的VUE_APP_DEV环境变量做分支判断,开发环境直接跳过Keycloak初始化流程,直接挂载应用;非开发环境保留原有Keycloak鉴权逻辑。

完整修改后的代码

const routes = [
  { path: '/', name: 'MyFirstRoute', component: MyFirstRoute },
  { path: '/SecondWindow', name: 'SecondWindow', component: SecondWindow },
  { path: '/ThirdWindow', name: 'ThirdWindow', component: ThirdWindow },
  { path: '*', redirect: '/', },
]

const router = new VueRouter({
  mode: 'history',
  routes
})

// 抽离应用挂载逻辑,避免重复代码
const mountApp = () => {
  new Vue({vuetify,router,i18n,render: h => h(App)}).$mount('#app')
}

// 开发环境直接挂载应用,跳过Keycloak鉴权
if (process.env.VUE_APP_DEV) {
  mountApp()
} else {
  // 非开发环境才初始化Keycloak
  let initOptions = {
    url: 'http://localhost:81/auth', realm: 'cmt', clientId: 'cmt_api', onLoad: 'login-required'
  }
  let keycloak = Keycloak(initOptions)
  keycloak.init({ onLoad: initOptions.onLoad }).then((auth) => {
    if (!auth) {
      window.location.reload();
    } else {
      // Vue.$log.info("Authenticated");
      mountApp()
    }
  })
}

注意事项

  • 确保你的开发环境配置文件(一般是.env.development)中已正确配置VUE_APP_DEV=true
  • 生产、验收、Docker测试环境的配置文件中不要配置该变量,或显式设置为VUE_APP_DEV=false即可自动走Keycloak鉴权逻辑
  • 该修改不需要手动注释任何Keycloak相关代码,会根据环境自动切换逻辑

内容的提问来源于stack exchange,提问作者Thierry

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.14 14:15:03