To make sure the security between the interfaces of services, users can enable RSA Authorizaiton
by simple configuration as below.
<dependency> <groupId>org.apache.servicecomb</groupId> <artifactId>handler-publickey-auth</artifactId> </dependency>
servicecomb: handler: chain: Consumer: default: auth-consumer
<dependency> <groupId>org.apache.servicecomb</groupId> <artifactId>handler-publickey-auth</artifactId> </dependency>
servicecomb: handler: chain: Consumer: default: auth-provider
Auth sample use RestTemplate
to present RSA communication between provider and consumer.
Start the ServiceComb/Service Center
microservice.yaml
fileservicecomb: service: registry: address: http://127.0.0.1:30100 #service center address
Start the auth-provider service
Start provider service by maven
Compile the source code, and use mvn exec
to execute the main class AuthProviderMain
.
mvn clean install cd auth-sample/auth-provider/ mvn exec:java -Dexec.mainClass="org.apache.servicecomb.samples.auth.provider.AuthProviderMain"
Start provider service by IDE
Import the project by InteliJ IDEA or Eclipse, then find main
function AuthProviderMain
of provider service and RUN
it like any other Java program.
Start the auth-consumer service
Just like how to start auth-provider service. But the main class of auth-consumer service is AuthConsumerMain
.
cd auth-sample/auth-consumer/ mvn exec:java -Dexec.mainClass="org.apache.servicecomb.samples.auth.consumer.AuthConsumerMain"
How to verify On the producer side, the output should contain the following stuffs if the producer starts up successfully:
On the consumer side, you can see the following outputs if the consumer can invoke the producer: