diff --git a/spring-cloud-alibaba-dependencies/pom.xml b/spring-cloud-alibaba-dependencies/pom.xml index 0f80d769..6588db7d 100644 --- a/spring-cloud-alibaba-dependencies/pom.xml +++ b/spring-cloud-alibaba-dependencies/pom.xml @@ -21,7 +21,7 @@ 1.7.0 3.1.0 0.9.0 - 1.1.4 + 1.2.0 0.8.0 1.0.9 1.0.1 diff --git a/spring-cloud-alibaba-examples/nacos-example/nacos-config-example/src/main/resources/bootstrap.properties b/spring-cloud-alibaba-examples/nacos-example/nacos-config-example/src/main/resources/bootstrap.properties index 375be66e..162e1600 100644 --- a/spring-cloud-alibaba-examples/nacos-example/nacos-config-example/src/main/resources/bootstrap.properties +++ b/spring-cloud-alibaba-examples/nacos-example/nacos-config-example/src/main/resources/bootstrap.properties @@ -1,4 +1,8 @@ spring.application.name=nacos-config-example spring.cloud.nacos.config.server-addr=127.0.0.1:8848 +# nacos auth +spring.cloud.nacos.username=nacos +spring.cloud.nacos.password=nacos + spring.cloud.nacos.config.shared-data-ids=base-common.properties,common.properties spring.cloud.nacos.config.refreshable-dataids=common.properties \ No newline at end of file diff --git a/spring-cloud-alibaba-examples/nacos-example/nacos-discovery-example/nacos-discovery-consumer-example/src/main/resources/application.properties b/spring-cloud-alibaba-examples/nacos-example/nacos-discovery-example/nacos-discovery-consumer-example/src/main/resources/application.properties index 4ad41cbe..81c32b48 100644 --- a/spring-cloud-alibaba-examples/nacos-example/nacos-discovery-example/nacos-discovery-consumer-example/src/main/resources/application.properties +++ b/spring-cloud-alibaba-examples/nacos-example/nacos-discovery-example/nacos-discovery-consumer-example/src/main/resources/application.properties @@ -3,6 +3,9 @@ server.port=18083 management.endpoints.web.exposure.include=* #spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848 spring.cloud.nacos.server-addr=127.0.0.1:8848 +# nacos auth +spring.cloud.nacos.username=nacos +spring.cloud.nacos.password=nacos feign.sentinel.enabled=true diff --git a/spring-cloud-alibaba-examples/nacos-example/nacos-discovery-example/nacos-discovery-provider-example/src/main/java/com/alibaba/cloud/examples/ProviderApplication.java b/spring-cloud-alibaba-examples/nacos-example/nacos-discovery-example/nacos-discovery-provider-example/src/main/java/com/alibaba/cloud/examples/ProviderApplication.java index 061f9022..1715638c 100644 --- a/spring-cloud-alibaba-examples/nacos-example/nacos-discovery-example/nacos-discovery-provider-example/src/main/java/com/alibaba/cloud/examples/ProviderApplication.java +++ b/spring-cloud-alibaba-examples/nacos-example/nacos-discovery-example/nacos-discovery-provider-example/src/main/java/com/alibaba/cloud/examples/ProviderApplication.java @@ -13,7 +13,7 @@ import org.springframework.web.bind.annotation.RestController; /** * @author xiaojing */ -@EnableDiscoveryClient(autoRegister = false) +@EnableDiscoveryClient(autoRegister = true) @SpringBootApplication public class ProviderApplication { diff --git a/spring-cloud-alibaba-examples/nacos-example/nacos-discovery-example/nacos-discovery-provider-example/src/main/resources/application.properties b/spring-cloud-alibaba-examples/nacos-example/nacos-discovery-example/nacos-discovery-provider-example/src/main/resources/application.properties index 66100d79..d8833c9f 100644 --- a/spring-cloud-alibaba-examples/nacos-example/nacos-discovery-example/nacos-discovery-provider-example/src/main/resources/application.properties +++ b/spring-cloud-alibaba-examples/nacos-example/nacos-discovery-example/nacos-discovery-provider-example/src/main/resources/application.properties @@ -1,4 +1,8 @@ server.port=18082 spring.application.name=service-provider -spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848 +spring.cloud.nacos.server-addr=127.0.0.1:8848 +# nacos auth +spring.cloud.nacos.username=nacos +spring.cloud.nacos.password=nacos + management.endpoints.web.exposure.include=* \ No newline at end of file diff --git a/spring-cloud-alibaba-examples/nacos-example/nacos-discovery-example/nacos-discovery-spring-cloud-config-client/src/main/resources/bootstrap.yml b/spring-cloud-alibaba-examples/nacos-example/nacos-discovery-example/nacos-discovery-spring-cloud-config-client/src/main/resources/bootstrap.yml index f9bbcea9..9abeb329 100644 --- a/spring-cloud-alibaba-examples/nacos-example/nacos-discovery-example/nacos-discovery-spring-cloud-config-client/src/main/resources/bootstrap.yml +++ b/spring-cloud-alibaba-examples/nacos-example/nacos-discovery-example/nacos-discovery-spring-cloud-config-client/src/main/resources/bootstrap.yml @@ -3,6 +3,8 @@ spring: name: client cloud: nacos: + username: nacos + password: nacos discovery: server-addr: localhost:8848 config: diff --git a/spring-cloud-alibaba-examples/nacos-example/nacos-discovery-example/nacos-discovery-spring-cloud-config-server/src/main/resources/application.yml b/spring-cloud-alibaba-examples/nacos-example/nacos-discovery-example/nacos-discovery-spring-cloud-config-server/src/main/resources/application.yml index e7fe16a4..11a07e72 100644 --- a/spring-cloud-alibaba-examples/nacos-example/nacos-discovery-example/nacos-discovery-spring-cloud-config-server/src/main/resources/application.yml +++ b/spring-cloud-alibaba-examples/nacos-example/nacos-discovery-example/nacos-discovery-spring-cloud-config-server/src/main/resources/application.yml @@ -8,6 +8,8 @@ spring: nacos: discovery: server-addr: localhost:8848 + username: nacos + password: nacos config: server: git: diff --git a/spring-cloud-alibaba-examples/nacos-example/nacos-gateway-example/nacos-gateway-discovery-example/src/main/resources/application.properties b/spring-cloud-alibaba-examples/nacos-example/nacos-gateway-example/nacos-gateway-discovery-example/src/main/resources/application.properties index 61394891..81edc37c 100644 --- a/spring-cloud-alibaba-examples/nacos-example/nacos-gateway-example/nacos-gateway-discovery-example/src/main/resources/application.properties +++ b/spring-cloud-alibaba-examples/nacos-example/nacos-gateway-example/nacos-gateway-discovery-example/src/main/resources/application.properties @@ -1,5 +1,9 @@ server.port=18085 spring.application.name=service-gateway + +spring.cloud.nacos.username=nacos +spring.cloud.nacos.password=nacos + spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848 management.endpoints.web.exposure.include=* diff --git a/spring-cloud-alibaba-examples/nacos-example/nacos-gateway-example/nacos-gateway-provider-example/src/main/resources/application.properties b/spring-cloud-alibaba-examples/nacos-example/nacos-gateway-example/nacos-gateway-provider-example/src/main/resources/application.properties index 9a061092..ba56d50d 100644 --- a/spring-cloud-alibaba-examples/nacos-example/nacos-gateway-example/nacos-gateway-provider-example/src/main/resources/application.properties +++ b/spring-cloud-alibaba-examples/nacos-example/nacos-gateway-example/nacos-gateway-provider-example/src/main/resources/application.properties @@ -1,4 +1,8 @@ server.port=18086 spring.application.name=service-gateway-provider spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848 + +spring.cloud.nacos.username=nacos +spring.cloud.nacos.password=nacos + management.endpoints.web.exposure.include=* \ No newline at end of file diff --git a/spring-cloud-alibaba-nacos-config/src/main/java/com/alibaba/cloud/nacos/NacosConfigProperties.java b/spring-cloud-alibaba-nacos-config/src/main/java/com/alibaba/cloud/nacos/NacosConfigProperties.java index 212fbbc4..0baffdf7 100644 --- a/spring-cloud-alibaba-nacos-config/src/main/java/com/alibaba/cloud/nacos/NacosConfigProperties.java +++ b/spring-cloud-alibaba-nacos-config/src/main/java/com/alibaba/cloud/nacos/NacosConfigProperties.java @@ -39,15 +39,16 @@ import static com.alibaba.nacos.api.PropertyKeyConst.ACCESS_KEY; import static com.alibaba.nacos.api.PropertyKeyConst.CLUSTER_NAME; import static com.alibaba.nacos.api.PropertyKeyConst.CONFIG_LONG_POLL_TIMEOUT; import static com.alibaba.nacos.api.PropertyKeyConst.CONFIG_RETRY_TIME; -import static com.alibaba.nacos.api.PropertyKeyConst.CONTEXT_PATH; import static com.alibaba.nacos.api.PropertyKeyConst.ENABLE_REMOTE_SYNC_CONFIG; import static com.alibaba.nacos.api.PropertyKeyConst.ENCODE; import static com.alibaba.nacos.api.PropertyKeyConst.ENDPOINT; import static com.alibaba.nacos.api.PropertyKeyConst.ENDPOINT_PORT; import static com.alibaba.nacos.api.PropertyKeyConst.MAX_RETRY; import static com.alibaba.nacos.api.PropertyKeyConst.NAMESPACE; +import static com.alibaba.nacos.api.PropertyKeyConst.PASSWORD; import static com.alibaba.nacos.api.PropertyKeyConst.SECRET_KEY; import static com.alibaba.nacos.api.PropertyKeyConst.SERVER_ADDR; +import static com.alibaba.nacos.api.PropertyKeyConst.USERNAME; /** * Nacos properties. @@ -86,12 +87,26 @@ public class NacosConfigProperties { } this.setServerAddr(serverAddr); } + if (StringUtils.isEmpty(this.getUsername())) { + this.setUsername(environment.resolvePlaceholders("${spring.cloud.nacos.username:}")); + } + if (StringUtils.isEmpty(this.getPassword())) { + this.setPassword(environment.resolvePlaceholders("${spring.cloud.nacos.password:}")); + } } /** * nacos config server address. */ private String serverAddr; + /** + * nacos auth username. + */ + private String username; + /** + * nacos auth password. + */ + private String password; /** * encode for nacos config content. @@ -358,6 +373,22 @@ public class NacosConfigProperties { this.name = name; } + public String getUsername() { + return username; + } + + public void setUsername(String username) { + this.username = username; + } + + public String getPassword() { + return password; + } + + public void setPassword(String password) { + this.password = password; + } + /** * @return ConfigService */ @@ -378,11 +409,12 @@ public class NacosConfigProperties { public Properties getConfigServiceProperties() { Properties properties = new Properties(); properties.put(SERVER_ADDR, Objects.toString(this.serverAddr, "")); + properties.put(USERNAME, Objects.toString(this.username, "")); + properties.put(PASSWORD, Objects.toString(this.password, "")); properties.put(ENCODE, Objects.toString(this.encode, "")); properties.put(NAMESPACE, Objects.toString(this.namespace, "")); properties.put(ACCESS_KEY, Objects.toString(this.accessKey, "")); properties.put(SECRET_KEY, Objects.toString(this.secretKey, "")); - properties.put(CONTEXT_PATH, Objects.toString(this.contextPath, "")); properties.put(CLUSTER_NAME, Objects.toString(this.clusterName, "")); properties.put(MAX_RETRY, Objects.toString(this.maxRetry, "")); properties.put(CONFIG_LONG_POLL_TIMEOUT, diff --git a/spring-cloud-alibaba-nacos-config/src/main/resources/META-INF/additional-spring-configuration-metadata.json b/spring-cloud-alibaba-nacos-config/src/main/resources/META-INF/additional-spring-configuration-metadata.json index c9c87261..83aed1ce 100644 --- a/spring-cloud-alibaba-nacos-config/src/main/resources/META-INF/additional-spring-configuration-metadata.json +++ b/spring-cloud-alibaba-nacos-config/src/main/resources/META-INF/additional-spring-configuration-metadata.json @@ -49,6 +49,28 @@ "type": "java.lang.Boolean", "defaultValue": true, "description": "enable nacos config or not." + }, + { + "name": "spring.cloud.nacos.config.username", + "type": "java.lang.String", + "defaultValue": "${spring.cloud.nacos.username}", + "description": "nacos config service's userName to authenticate." + }, + { + "name": "spring.cloud.nacos.config.password", + "type": "java.lang.String", + "defaultValue": "${spring.cloud.nacos.password}", + "description": "nacos config service's password to authenticate." + }, + { + "name": "spring.cloud.nacos.username", + "type": "java.lang.String", + "description": "nacos username to authenticate." + }, + { + "name": "spring.cloud.nacos.password", + "type": "java.lang.String", + "description": "nacos password to authenticate." } ] } \ No newline at end of file diff --git a/spring-cloud-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/NacosDiscoveryProperties.java b/spring-cloud-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/NacosDiscoveryProperties.java index 919c5be4..53e63fd3 100644 --- a/spring-cloud-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/NacosDiscoveryProperties.java +++ b/spring-cloud-alibaba-nacos-discovery/src/main/java/com/alibaba/cloud/nacos/NacosDiscoveryProperties.java @@ -51,8 +51,10 @@ import static com.alibaba.nacos.api.PropertyKeyConst.ENDPOINT; import static com.alibaba.nacos.api.PropertyKeyConst.ENDPOINT_PORT; import static com.alibaba.nacos.api.PropertyKeyConst.NAMESPACE; import static com.alibaba.nacos.api.PropertyKeyConst.NAMING_LOAD_CACHE_AT_START; +import static com.alibaba.nacos.api.PropertyKeyConst.PASSWORD; import static com.alibaba.nacos.api.PropertyKeyConst.SECRET_KEY; import static com.alibaba.nacos.api.PropertyKeyConst.SERVER_ADDR; +import static com.alibaba.nacos.api.PropertyKeyConst.USERNAME; /** * @author dungu.zpf @@ -71,6 +73,14 @@ public class NacosDiscoveryProperties { * nacos discovery server address. */ private String serverAddr; + /** + * nacos auth username. + */ + private String username; + /** + * nacos auth password. + */ + private String password; /** * the domain name of a service, through which the server address can be dynamically @@ -409,6 +419,22 @@ public class NacosDiscoveryProperties { this.group = group; } + public String getUsername() { + return username; + } + + public void setUsername(String username) { + this.username = username; + } + + public String getPassword() { + return password; + } + + public void setPassword(String password) { + this.password = password; + } + @Override public String toString() { return "NacosDiscoveryProperties{" + "serverAddr='" + serverAddr + '\'' @@ -464,6 +490,14 @@ public class NacosDiscoveryProperties { this.setGroup( env.resolvePlaceholders("${spring.cloud.nacos.discovery.group:}")); } + if (StringUtils.isEmpty(this.getUsername())) { + this.setUsername( + env.resolvePlaceholders("${spring.cloud.nacos.username:}")); + } + if (StringUtils.isEmpty(this.getPassword())) { + this.setPassword( + env.resolvePlaceholders("${spring.cloud.nacos.password:}")); + } } public NamingService namingServiceInstance() { @@ -502,6 +536,8 @@ public class NacosDiscoveryProperties { private Properties getNacosProperties() { Properties properties = new Properties(); properties.put(SERVER_ADDR, serverAddr); + properties.put(USERNAME, Objects.toString(username,"")); + properties.put(PASSWORD, Objects.toString(password,"")); properties.put(NAMESPACE, namespace); properties.put(UtilAndComs.NACOS_NAMING_LOG_NAME, logName); diff --git a/spring-cloud-alibaba-nacos-discovery/src/main/resources/META-INF/additional-spring-configuration-metadata.json b/spring-cloud-alibaba-nacos-discovery/src/main/resources/META-INF/additional-spring-configuration-metadata.json index 2f0718f9..c60dd521 100644 --- a/spring-cloud-alibaba-nacos-discovery/src/main/resources/META-INF/additional-spring-configuration-metadata.json +++ b/spring-cloud-alibaba-nacos-discovery/src/main/resources/META-INF/additional-spring-configuration-metadata.json @@ -33,5 +33,27 @@ "type": "java.lang.Boolean", "defaultValue": "true", "description": "enable nacos discovery watch or not ." + }, + { + "name": "spring.cloud.nacos.discovery.username", + "type": "java.lang.String", + "defaultValue": "${spring.cloud.nacos.username}", + "description": "nacos discovery service's username to authenticate." + }, + { + "name": "spring.cloud.nacos.discovery.password", + "type": "java.lang.String", + "defaultValue": "${spring.cloud.nacos.password}", + "description": "nacos discovery service's password to authenticate." + }, + { + "name": "spring.cloud.nacos.username", + "type": "java.lang.String", + "description": "nacos userName to authenticate." + }, + { + "name": "spring.cloud.nacos.password", + "type": "java.lang.String", + "description": "nacos password to authenticate." } ]}