【问题标题】:keycloak javascript adapter request offline tokenkeycloak javascript适配器请求离线令牌
【发布时间】:2016-05-18 03:45:57
【问题描述】:

我有一个 js 应用程序,我使用带有公共客户端和标准流程的 keycloak 1.7-final JavaScript 适配器,它工作正常,但现在我想为应用程序添加离线功能,但不知道如何获取离线令牌。根据documentation,客户端可以通过在向Keycloak发送授权请求时添加参数“scope=offline_access”来请求离线令牌。 问题是我不知道在哪里添加参数。我尝试添加到“keycloak.config”和“keycloak.init”,但它不起作用。

在 keycloak.config 中:

keycloak: {
     url: 'link omitted',
     realm: 'sisdn-realm',
     clientId: 'sisdn',
     redirect_uri: 'link omitted',
     flow: 'standard',
     'enable-cors': true,
     scope: 'offline_access'
}

在 keycloak.init 中

const keycloakConf = require('keycloak')//this is the same config above
var keycloak = new  keycloakConf(config.keycloak)

keycloak.init({
   onLoad: 'login-required',
   checkLoginIframe: false,
   scope: 'offline_access'
})
.success(authenticated => {
   if(!authenticated)
     dispatch(loginFailure())
   else {
     global.keycloak = keycloak
     dispatch(loginSuccess())
    }
 })

【问题讨论】:

  • 您必须在授权请求本身中直接添加“scope=offline_access”。你能添加你用来发送请求的代码吗?
  • 这是授权请求本身,您可以从我的编辑中看到这是我用来发出请求的内容
  • 文档引用了一个offline-access-app的例子,你看了吗?
  • 是的,它的 java 应用程序将 scope=offline_access 直接添加到查询参数,但我看不出它对 javascript 适配器有何帮助
  • 我会把这个问题放在 github 存储库中的问题中,但有趣的是存储库中没有问题选项卡

标签: javascript offline keycloak


【解决方案1】:

来自JS adapter code

init 方法不接受 scope 选项,但 login 方法可以。

【讨论】:

  • 你是对的范围选项所以我必须使用 init() 然后在回调中我调用 login 如果用户没有登录,谢谢。
  • @mhashim 你能发布你的解决方案吗?你怎么能 init() 没有登录,所以你可以请求离线访问?
猜你喜欢
  • 1970-01-01
  • 2021-10-26
  • 2021-09-29
  • 2020-02-11
  • 2017-09-24
  • 1970-01-01
  • 2020-02-08
  • 2020-08-14
  • 2021-03-21
相关资源
最近更新 更多