繁体   English   中英

Keycloak + AngularJS:登录重定向 url 后保留 URL 哈希片段

[英]Keycloak + AngularJS: persist URL hash fragments after login redirect url

我们正在使用 Keycloak
http://keycloak.github.io/docs/userguide/keycloak-server/html_single/index.html

和 Angularjs 的问题是我们需要先加载 Angular 因为我们在主页上的应用程序显示公共信息,当用户去让我们说“结帐”然后我们想显示登录屏幕,你知道我们怎么做吗?做吗?

我们得到一个循环 URL

http://192.168.3.34:8080/?redirect_fragment=%2Fapp%2Fdashboard
            &redirect_fragment=%2Fapp%2Fdashboard
            &prompt=none&redirect_fragment=%2Fapp%2Fdashboard&prompt=none           &redirect_fragment=%2Fapp%2Fdashboard&prompt=none&redirect_fragment=%2Fapp%2Fdashboard&prompt=none&redirect_fragment=%2Fapp%2Fdashboard&prompt=none&redirect_fragment=%2Fapp%2Fdashboard&prompt=none&redirect_fragment=%2Fapp%2Fdashboard&prompt=none&redirect_fragment=%2Fapp%2Fdashboard&prompt=none&redirect_fragment=%2Fapp%2Fdashboard&prompt=none&redirect_fragment=%2Fapp%2Fdashboard&prompt=none&redirect_fragment=%2Fapp%2Fdashboard&prompt=none&redirect_fragment=%2Fapp%2Fdashboard&prompt=none&redirect_fragment=%2Fapp%2Fdashboard&prompt=none#
state=4674d401-5442-4459-8706-0b77443011bd&code=LnD4lRypAql5QkEO1mwtWHpaff1XaUeeACpY7-GP220.b6a0f296-e1a8-4b12-b34a-b1dcefa9a94f

注意我们使用的是keycloak.login(); 但它不起作用 Keycloak 服务器不接受重定向 URL 上的"#/"

谢谢弗朗西斯科

我自己也有这个问题。 通过修改keycloak解决了这个问题。 主题/基础/登录/登录.ftl:

 <form id="kc-form-login" onsubmit="login.disabled = true; return true;" action="${url.loginAction}" method="post">

更改为:

<form id="kc-form-login" onsubmit="this.action = this.action + window.location.hash; login.disabled = true; return true;" action="${url.loginAction}" method="post">

它在提交时将来自 URL 的哈希附加到表单发布操作上。 解决这个问题的关键是发现散列永远不会发送到服务器,而是完全由网络浏览器控制。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM