WebSSO Spring + Angular 重定向-uri
Posted
技术标签:
【中文标题】WebSSO Spring + Angular 重定向-uri【英文标题】:WebSSO Spring + Angular redirect-uri 【发布时间】:2021-03-14 05:14:22 【问题描述】:有spring-web(安全应用)。
这里是配置:
security:
oauth2:
client:
registration:
*auth:
provider: *auth
client-name: Login with the Identity Server
client-id: $app.auth-client.client-id
client-secret: $app.auth-client.client-secret
authorization-grant-type: authorization_code
redirect-uri: ?????
provider:
*auth:
token-uri: $app.auth-client.server-url/$app.auth-client.realm/$app.auth-client.server-url-postfix/token
authorization-uri: $app.auth-client.server-url/$app.auth-client.realm/$app.auth-client.server-url-postfix/auth
user-info-uri: $app.auth-client.server-url/$app.auth-client.realm/$app.auth-client.server-url-postfix/userinfo
jwk-set-uri: $app.auth-client.server-url/$app.auth-client.realm/$app.auth-client.server-url-postfix/certs
主要问题是如何为 UI 解析重定向 uri? 有 2 种应用:背面(弹簧)和正面(角度)
它适用于重定向 uri:baseUrl/login/oauth2/code/registrationId
但它只适用于 REST-API 和后端应用程序。
事实上,我想打开 UI 页面 - 如果用户没有被 auntificated - 使用 back 重定向到 auth-server。 登录后 - 使用凭据重定向回 (redirect-ui ???) 到 UI 页面。
经典方式。但它不适用于单独的 UI。对于测试,我使用 keycloak。
【问题讨论】:
【参考方案1】:有诀窍:
public class WebSecurityConfig extends WebSecurityConfigurerAdapter
...
@Override
protected void configure(HttpSecurity http) throws Exception
http
...
.oauth2Login()
.successHandler((request, response, authentication) -> response.sendRedirect(clientProperties.getRedirectUriSuccess()))
认证成功后需要定义重定向uri到UI。它与 sso 配置中的重定向 uri 不同。
【讨论】:
以上是关于WebSSO Spring + Angular 重定向-uri的主要内容,如果未能解决你的问题,请参考以下文章
spring social facebook + api + angularjs(如何从 angular 调用 -> spring api -> 重定向到 facebook 登录)
Angular Spring Boot:重定向错误:预检响应中的 Access-Control-Allow-Headers 不允许请求标头字段 Content-Type
在 Spring Boot 中将未知请求重定向到 index.html