当使用Keycloak-js(版本:4.0.0)在Angular4中创建会话时,SSO不起作用
响应URL:
http://localhost:3000/login/generic_oauth#state=wwxu1iywxtsevsxwcfzwhpz7opm63dbu5aombtmdjhe%3d&session_state=6ec8255b-ed4c-4399-951c-0241ce7bebad&code=eyjhbgcioijkaxiilcjlbmioijbmti4q0jdluhtmju2in0…lvjhqloacy0ftmxmoleyq.82msmzkn4hjbnokmezw-xkhurkyMH42RRG0O_AXTZVJYLOZWWA4X9V2DQAIBI2CuGKJLSINFJLLCN8LUK4PSWQOE2BP6WTMSZVIEU30UW8RXVQF46HSTF1DTXWZP-WOCCHWLAQATNQZD61U-AURLZ6ITY8DQXD3HWSCR1KJHFU8BJBR_PCNBT8LIGL_NKAGFCEODFPFOQGUY1ATQQLB.FSMESQYQKVWZBY1RW47A
尝试的选项:
鉴于以下步骤是有效的
const keycloakAuth: any = Keycloak({
url: environment.KEYCLOAK_URL,
realm: environment.KEYCLOAK_REALM,
clientId: environment.KEYCLOAK_CLIENTID,
'ssl-required': 'external',
'public-client': true,
});
最后,我使用angull-oidc库(隐式流)https://github.com/manfredsteyer/angull-oauth2-oidc实现了SSO功能
private configureWithNewConfigApi() {
// URL of the SPA to redirect the user to after login
this.oauthService.redirectUri = window.location.origin + "/index.html";
// set the scope for the permissions the client should request
this.oauthService.scope = "openid profile email";
// set to true, to receive also an id_token via OpenId Connect (OIDC) in addition to the
// OAuth2-based access_token
this.oauthService.oidc = true;
// Use setStorage to use sessionStorage or another implementation of the TS-type Storage
// instead of localStorage
this.oauthService.setStorage(sessionStorage);
this.oauthService.clientId = "<<clientId>>";
let url = 'https://<<keycloakhost>>:<<port>>/auth/realms/<<realmsname>>/.well-known/openid-configuration';
this.oauthService.loadDiscoveryDocument(url).then((doc) => {
// This method just tries to parse the token within the url when
// the auth-server redirects the user back to the web-app
// It dosn't initiate the login
this.oauthService.tryLogin({});
console.debug('discovery succeeded', doc);
});
感谢Jan Garag的建议
我正在使用Thymeleaf开发一个简单的登录表单 我试图通过将以下属性放入我的应用程序来禁用默认的安全登录屏幕。属性: 并将以下配置添加到我的SecurityConfig中,以便除"/登录"和"/资源"之外的任何URL都将获得身份验证: 我的LoginController是明确的: 有人知道为什么会这样吗?
当使用自定义重定向URL配置Spring security时,该URL使用基本URI模板变量,如下所示:https://docs.Spring.io/Spring-security/site/docs/5.2.12.release/reference/html/oauth2.html#oauth2client-auth-code-redirect-uri 应用程序进入了太多重定向的循环。 此配置工
我使用Laravel 5.4的项目和场景是,如果没有任何创建然后在登录重定向到页面。 下面是我的路线页编码 目录结构是 下面是我的code 它重定向了太多次,我收到错误消息说。 我在这里做错了什么??
这是我的应用程序属性文件: 这是我的配置类: 我做错了什么? 谢谢。
问题内容: 我使用以下代码发出了一个简单的URL请求: 但是在最后一行,我收到“重定向次数过多错误”。如果说我的“网页”变量是google.com,那么它可以正常工作,但是当我尝试使用我的servlet的URL时,它将失败。看来我可以用以下方法调整重定向之后的次数(默认为20): 但是当我将其提高到100时,抛出错误肯定需要更长的时间,所以我知道它正在尝试。但是,指向我的servlet的URL在(
我用下面的代码发出一个简单的URL请求: 但在最后一行,我得到了“重定向太多次错误”。如果我的“网页”变量是谷歌。com,然后它工作正常,但当我尝试使用servlet的URL时,它失败了。似乎我可以通过以下方法调整它遵循重定向的次数(默认值为20): 但是当我把它调到,比如说,100时,肯定需要更长的时间来抛出错误,所以我知道它在努力。然而,我的servlet的网址在(任何)浏览器中都能正常工作,