使用Spring Cloud Config不能获得加密值?

时间:2018-10-21 08:06:30

标签: spring-cloud spring-cloud-config

我正在尝试使用Spring Cloud Config Server对配置值进行加密/解密。

为此,在Config Server项目下进行了以下更改:

bootstrap.properties

encrypt.key=abcdefghabcdefghabcdefghabcdefghabcdefghabcdefgh

我还在Ubuntu 18.04计算机上使用以下命令更新了JCE:

sudo apt install oracle-java8-unlimited-jce-policy

enter image description here

但是在发出POST请求后,我什么都没看到响应。

enter image description here

理想情况下,请求主体的加密文本应作为响应来显示。

enter image description here

示例项目:https://github.com/Omkar-Shetkar/pluralsight-springcloud-m2-git

这里可能缺少什么?

谢谢。

2 个答案:

答案 0 :(得分:0)

实际上是CSRF所致,正在收到401未经授权的回复。从Spring Boot 2.0开始,我们可以在代码中禁用它。

可在此处找到详细答案: spring config server encrypt forbidden

按照上述步骤解决了该问题。

答案 1 :(得分:0)

就在那里,如果有人坚持我的愚蠢错误,即使做了上述所有事情,如果 /encrypt 端点仍然没有被授权。

请检查您的安全适配器类。如果您也覆盖了以下方法

  @Autowired
  public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception {
    auth.inMemoryAuthentication()
        .withUser("user")
        .password(passwordEncoder().encode(userPassword))
        .roles("USER")
        .and()
        .withUser("admin")
        .password(passwordEncoder().encode(adminPassword))
        .roles("USER", "ADMIN");
  }

您需要在“授权”选项卡的“基本身份验证”选项下提供这些凭据

enter image description here