使用JHiÀster6.6构建微服务架构应用程序。我有一个网关和2个微服务。使用带有OAUTH2身份验证的JDL可以加快速度。
如果将OAUTH2提供程序设置为内部KeyCloak服务器,则一切正常,我可以在网关前端登录,并且对各种实体等微服务的请求都可以工作。
当我切换到OKTA时,我得到一个刷新循环,每次在浏览器的网络开发控制台中显示为401 Unauthorized。在服务/网关方面,我没有记录任何错误。
我已使用推荐的。*正则表达式将所有组分配给OKTA中的应用程序。
感觉非用户身份验证存在一些问题/特权,但是我对OKTA不够熟悉,并且没有看到JHipster / Spring返回任何有意义的信息。
编辑:调试已调试,并且微服务中的主要故障点似乎在此处:
2020-01-03 19:25:20.567 DEBUG 41074 --- [ XNIO-1 task-13] o.s.s.w.u.matcher.AntPathRequestMatcher : Checking match of request : '/api/remote-sites'; against '/oauth2/authorization/{registrationId}'
2020-01-03 19:25:20.567 DEBUG 41074 --- [ XNIO-1 task-13] o.s.security.web.FilterChainProxy : /api/remote-sites at position 6 of 13 in additional filter chain; firing Filter: 'BearerTokenAuthenticationFilter'
2020-01-03 19:25:20.568 DEBUG 41074 --- [ XNIO-1 task-13] o.s.s.authentication.ProviderManager : Authentication attempt using org.springframework.security.oauth2.server.resource.authentication.JwtAuthenticationProvider
2020-01-03 19:25:20.612 DEBUG 41074 --- [ XNIO-1 task-13] .s.a.DefaultAuthenticationEventPublisher : No event was found for the exception org.springframework.security.oauth2.core.OAuth2AuthenticationException
2020-01-03 19:25:20.612 DEBUG 41074 --- [ XNIO-1 task-13] .o.s.r.w.BearerTokenAuthenticationFilter : Authentication request for failed: org.springframework.security.oauth2.core.OAuth2AuthenticationException: An error occurred while attempting to decode the Jwt: Signed JWT rejected: Another algorithm expected, or no matching key(s) found