The authentication service is responsible for implementing several user authentication mechanisms in a multi-cloud environment, including implementations based on LDAP, Openstack Keystone and Shibboleth.
It provides a token required for build requests to the REST API of many fogbow services.
In this section the installation explanation will be facing a possible contributor. If you are interested in deployment, please take a look at fogbow-deploy.
- Java 8
- Maven
- Common module, which is a dependency for most fogbow service.
First of all, create a directory to organize all fogbow modules/services then clone the required repositories.
mkdir fogbow && cd fogbow
git clone https://github.com/fogbow/common.git
cd common
git checkout develop && mvn install -DskipTests
git clone https://github.com/fogbow/authentication-service.git
cd authentication-service
git checkout develop && mvn install -DskipTests
This service requires some initial configuration. Most of them will have a template for help you to get started.
First of all, you need to create a directory named private at src/main/resources
, it will be holding your private settings (managed clouds, username and password for the clouds, etc.).
If you don't know how to create a public/private key, take a look at this guide.
After the keys are created, you must put them in src/main/resources/private/
folder.
Check out src/main/resources/templates/as.conf
for a full template.
Example of some fields:
...
public_key_file_path=src/main/resources/private/public.key
private_key_file_path=src/main/resources/private/private.key
system_identity_provider_plugin_class=cloud.fogbow.as.core.systemidp.plugins.openstack.v3.OpenStackSystemIdentityProviderPlugin
...
Note that you must complete more than these fields and the template has comments for each field.
You can skip step 3 if you have added the authentication service and common as modules previously (for example, in the Resource Allocation Service configuration).
- Start your IDE (IntelliJ, Eclipse, etc);
- Open the Authentication Service (AS) project;
- Add/import common as module in the AS project;
- Run the AS application.
You can access the API docs to check the available endpoints for this service, the path is /swagger-ui.html
Example: if the service is running at http://localhost:8081 then you should go to http://localhost:8081/swagger-ui.html
- Postman, for REST requests.
For instructions about how to contribute, check out our contributor's guide.