自定义RestTemplate - wzz-code/cloud-security-sample GitHub Wiki

SSO(和资源服务器)功能在内部使用 OAuth2RestTemplate 来提取用户详细信息进行身份验证。这是作为一个合格的 @Bean 提供id为“userInfoRestTemplate”,但你不应该需要知道,只是使用它。对于大多数提供程序,默认值应该是正常的,但偶尔您可能需要添加额外的拦截器,或更改请求验证器(这是令牌附加到付出请求的方式)。要添加自定义只需创建一个类型 UserInfoRestTemplateCustomizer 的 bean - 它有一个方法,将在bean创建后,但在初始化之前调用。此处定制的其余模板仅在内部用于执行身份验证(在SSO或资源服务器用例中)。

第二个 {@link OAuth2RestTemplate} 可用于自动连接,如果您要将其用于后台通道调用,并且如果有一个令牌验证的用户(在Web应用程序中),它将为您注入令牌。

要在YAML中设置RSA键值,请使用“管道”连续标记将其分割到多行(“|”),并记住缩进键值(这是一个标准的YAML语言功能)。例:

oauth2:
  resource:
    jwt:
      keyValue: |
        -----BEGIN PUBLIC KEY-----
        MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC...
        -----END PUBLIC KEY-----