我对前端开发人员在安全方面的本地开发有疑问。
先决条件:
在下面的方案中,我画出了正在发生的情况的大概情况
我正在努力做什么
问题是
如何为前端开发人员设置本地开发,让他们在测试环境中通过keycloak和api-gateway登录?也许有关于如何做到这一点的行之有效的方案?
我尝试通过一些重定向来使用本地 nginx,但没有结果。
我在类似的设置中做了什么(开发与否):
spring-cloud-gateway
、spring-boot-starter-oauth2-client
和 oauth2Login
过滤器配置 TokenRelay=
。这是获取 OAuth2 BFF 在会话中存储令牌并在会话授权(前端和网关之间)和承载令牌授权(网关和资源服务器之间)之间进行转换的相当简单的方法身份验证序列(同样,无论环境如何,不仅仅是在开发环境中)如下:
authorization_code
流的可能选项(如果有多个授权服务器,则每个授权服务器一个)authorization_code
流最后一步(绘图中的步骤 6)是通过配置了
http.oauth2Login(oauth2 -> oauth2.authenticationSuccessHandler(new RedirectServerAuthenticationSuccessHandler("/ui")))
的身份验证成功处理程序完成的。您可以在那里放置一个绝对 URI(如果您不想通过网关提供 UI,您甚至必须这样做)。
请注意,您可能也想配置一个指向您的 React 前端的
AuthenticationFailureHandler
。