正在从 URL 加载 Keycloak 配置
Loading Keycloak config from URL
Keycloak 3.2 Javascript Adapter documentation 说你可以实例化 keycloak 对象:
var keycloak = Keycloak('http://localhost:8080/myapp/keycloak.json'));
但是当我尝试这样做时,我的 keycloak.config 文件似乎没有正确设置,因为我最终得到了 :
Uncaught TypeError: Cannot read property 'charAt' of undefined
at getRealmUrl (keycloak.js:482)
at Keycloak.kc.createLoginUrl (keycloak.js:233)
at Object.login (keycloak.js:897)
at Keycloak.kc.login (keycloak.js:205)
at doLogin (keycloak.js:121)
at onLoad (keycloak.js:144)
at Object.processInit [as successCallback] (keycloak.js:187)
at Object.setSuccess (keycloak.js:771)
at XMLHttpRequest.req.onreadystatechange (keycloak.js:598)
at XMLHttpRequest.wrapFn [as __zone_symbol___onreadystatechange] (zone.js:1056)
然而,当我使用浏览器访问 http://localhost:8080/myapp/keycloak.json
时,我得到:
{
url: 'http://keycloak-server/auth',
realm: 'myrealm',
clientId: 'myapp'
}
如果我用
实例化 keycloak 对象
var keycloak = Keycloak({
url: 'http://keycloak-server/auth',
realm: 'myrealm',
clientId: 'myapp'
});
一切正常。
这是 Keycloak 的错误,还是我遗漏了什么?
Keycloak 使用不同的格式,无论您是从其 URL 加载配置还是直接加载到构造函数中...
如果您通过 URL 加载它,格式必须是 :
{
auth-server-url: 'http://keycloak-server/auth',
realm: 'myrealm',
resource: 'myapp'
}
而不是
{
url: 'http://keycloak-server/auth',
realm: 'myrealm',
clientId: 'myapp'
}
Keycloak 3.2 Javascript Adapter documentation 说你可以实例化 keycloak 对象:
var keycloak = Keycloak('http://localhost:8080/myapp/keycloak.json'));
但是当我尝试这样做时,我的 keycloak.config 文件似乎没有正确设置,因为我最终得到了 :
Uncaught TypeError: Cannot read property 'charAt' of undefined
at getRealmUrl (keycloak.js:482)
at Keycloak.kc.createLoginUrl (keycloak.js:233)
at Object.login (keycloak.js:897)
at Keycloak.kc.login (keycloak.js:205)
at doLogin (keycloak.js:121)
at onLoad (keycloak.js:144)
at Object.processInit [as successCallback] (keycloak.js:187)
at Object.setSuccess (keycloak.js:771)
at XMLHttpRequest.req.onreadystatechange (keycloak.js:598)
at XMLHttpRequest.wrapFn [as __zone_symbol___onreadystatechange] (zone.js:1056)
然而,当我使用浏览器访问 http://localhost:8080/myapp/keycloak.json
时,我得到:
{
url: 'http://keycloak-server/auth',
realm: 'myrealm',
clientId: 'myapp'
}
如果我用
实例化 keycloak 对象var keycloak = Keycloak({
url: 'http://keycloak-server/auth',
realm: 'myrealm',
clientId: 'myapp'
});
一切正常。
这是 Keycloak 的错误,还是我遗漏了什么?
Keycloak 使用不同的格式,无论您是从其 URL 加载配置还是直接加载到构造函数中...
如果您通过 URL 加载它,格式必须是 :
{
auth-server-url: 'http://keycloak-server/auth',
realm: 'myrealm',
resource: 'myapp'
}
而不是
{
url: 'http://keycloak-server/auth',
realm: 'myrealm',
clientId: 'myapp'
}