| ## Auth-Sample |
| |
| To make sure the security between the interfaces of services, users can enable `RSA Authorizaiton` by simple configuration as below. |
| |
| ## Consumer Service |
| |
| * Add dependence in pom.xml file: |
| |
| ```xml |
| <dependency> |
| <groupId>org.apache.servicecomb</groupId> |
| <artifactId>handler-publickey-auth</artifactId> |
| </dependency> |
| ``` |
| |
| * Add handler chain in microservice.yaml: |
| |
| ```yaml |
| servicecomb: |
| handler: |
| chain: |
| Consumer: |
| default: auth-consumer |
| ``` |
| |
| ## Provider Service |
| |
| * Add dependence in pom.xml file: |
| |
| ```xml |
| <dependency> |
| <groupId>org.apache.servicecomb</groupId> |
| <artifactId>handler-publickey-auth</artifactId> |
| </dependency> |
| ``` |
| |
| * Add handler chain in microservice.yaml: |
| |
| ```yaml |
| servicecomb: |
| handler: |
| chain: |
| Consumer: |
| default: auth-provider |
| ``` |
| ## Precondition |
| see [Precondition](../../README.md) |
| |
| ## Sample Quick Start |
| |
| Auth sample use `RestTemplate` to present RSA communication between provider and consumer. |
| |
| * Start the ServiceComb/Service Center |
| |
| - [how to start the service center](http://servicecomb.apache.org/docs/products/service-center/install/) |
| - make sure service center address is configured correctly in `microservice.yaml` file |
| |
| ```yaml |
| servicecomb: |
| 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`. |
| |
| ```bash |
| 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`. |
| |
| ```bash |
| 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: |
| 1. *'swagger: 2.0 info: version: 1.0.0 ...'* means the producer generated swagger contracts |
| 2. *'rest listen success. address=0.0.0.0:8080'* means the rest endpoint is listening on port 8080 |
| |
| On the consumer side, you can see the following outputs if the consumer can invoke the producer: |
| 1. *'Hello Authenticate'* means the consumer calls sayhi with name=Authenticate successfully |
| 2. *'Hello person ServiceComb/Authenticate'* means the consumer calls sayhello successfully |
| |