use*_*498 5 keycloak keycloak-services
我已将 keycloak.js 包含在索引页面的头部。成功登录后,我将被重定向回我定义的重定向 url,其中authentiated 等于 true。但是,大约 5 秒后,页面将重新加载并返回已验证 true。这只是循环发生,不知道从这里去哪里。这是我的 html 中的内容:
<script src="/js/application/jquery/jquery-3.2.1.min.js"></script>
<script src="/js/application/keycloak.js"></script>
<script type="text/javascript">
$(document).ready(function() {
var keycloak = Keycloak('keycloak.json');
keycloak.init({onLoad:'login-required', flow:'standard'}).success(function(authenticated) {
console.log('load app here');
}).error(function() {
alert('failed to initialize');
});
});
Run Code Online (Sandbox Code Playgroud)
我的 keycloak.json 是:
{
"realm": "myapp",
"auth-server-url": "https://localhost:8081/auth",
"ssl-required": "external",
"resource": "app",
"credentials": {
"secret": "77296286-f52d-48d9-82ac-fcf287486110"
},
"confidential-port": 0,
"policy-enforcer": {},
}
Run Code Online (Sandbox Code Playgroud)
我非常感谢您提出的任何建议。这主要发生在 IE 11 中。我们有很多家庭客户仍在使用 IE 11,所以必须支持它。
我正在使用 4.3.0 中的 keycloak.js 并使用所有 java 4.3.0 适配器。
小智 2
修复了这个问题。问题不在于 Chrome。该问题是由于 iframe 引起的。KeyCloak 在浏览器窗口中附加 iframe,然后 iframe 向 KeyCloak 服务器发送请求以进行身份验证,然后再返回响应,iframe 更新有关响应的父窗口 KeyCloak 库会再附加一个 iframe,这会导致无限循环。所以我只是在 KeyCloak 库中添加了一个条件,如果 iframe 已经在窗口中,则不要附加新的 iframe。
在 keycloak 服务的 init 方法中添加 "checkLoginIframe": true 它将解决您的问题。
请参考下面的github链接:
https://github.com/dasniko/keycloak-reactjs-demo/issues/3
归档时间: |
|
查看次数: |
4236 次 |
最近记录: |