Integrating Spring Cloud Gateway and OAuth2 WITHOUT JWTs



我正在针对OAuth2服务进行身份验证,该服务为我提供了3个端点:

http://bobsoauth.com/oauth2/authorize
http://bobsoauth.com/oauth2/token
http://bobsoauth.com/oauth2/userdata

此服务不发布JWT。

我需要使用一个Angular客户端应用程序,连接到一个Spring Cloud Gateway,然后连接到多个Spring Boot微服务。

如果没有JWT,我还能在网关和微服务之间使用令牌中继设置吗?

如果没有JWT,您将不得不使用令牌内省来配置资源服务器(在springsecurity-conf中,http.oauth2ResourceServer().opaqueToken()而不是http.oauth2ResourceServer().jwt()(。这远不如JWT解码有效,因为每个微服务都必须为其处理的每个请求向授权服务器提交令牌。

此处示例:https://github.com/ch4mpy/spring-addons/tree/master/samples/tutorials/resource-server_with_introspection

端点通常称为introspect,但我想您必须想办法在您的情况下使用userdata

让您的Angular应用程序根据您的授权服务器进行身份验证,并使用网关转发Authorization标头。

对于Angular,我使用Angular auth-oidc客户端。只需将您在问题中提到的URL放在conf中即可。

最新更新