Magen ID Service is a microservice responsible for authentication and authorization for users to access resources. It exposes REST API for managing client, user, group and token authorization.
Supported key formats: JSON, JWT
Current version: 1.0a2
All of Magen services depend on an operations git submodule magen_helper.
When cloning this repo, make sure to provide --recursive
flag or after the clone execute a command to update magen-helpers
git submodule:
git submodule update --init --recursive
For This Service there are available make
commands. Makefile is located under id/
Make Default Target: make default
. Here is the list of targets available for ID service
default:
@echo 'Makefile for Magen ID Service'
@echo
@echo 'Usage:'
@echo ' make clean :Remove packages from system and pyc files'
@echo ' make test :Run the test suite'
@echo ' make package :Create Python wheel package'
@echo ' make install :Install Python wheel package'
@echo ' make all :clean->package->install'
@echo ' make list :List of All Magen Dependencies'
@echo ' make build_docker :Pull Base Docker Image and Current Image'
@echo ' make run_docker :Build and Run required Docker containers with mounted source'
@echo ' make runpkg_docker :Build and Run required Docker containers with created wheel'
@echo ' make test_docker :Build, Start and Run tests inside main Docker container interactively'
@echo ' make stop_docker :Stop and Remove All running Docker containers'
@echo ' make clean_docker :Remove Docker unused images'
@echo ' make rm_docker :Remove All Docker images if no containers running'
@echo ' make doc :Generate Sphinx API docs'
@echo
@echo
python3 -V
: Python 3.5.2 (>=3.4)pip3 -V
: pip 9.0.1make -v
: GNU Make 3.81docker -v
: Docker version 17.03.0-ce, build 60ccb22docker-compose -v
: docker-compose version 1.11.2, build dfed245- Make sure you have correct rights to clone Cisco-Magen github organization
python3 -V
: Python 3.5.2pip3 -V
: pip 9.0.1make -v
: GNU Make 4.1docker -v
: Docker version 17.03.0-ce, build 60ccb22docker-compose -v
: docker-compose version 1.11.2, build dfed245- Make sure AWS user and root have correct rights to Cisco-Magen github organization
make all
-> Install Magen-Core dependencies, clean, package and install ks packagemake test
-> run id tests
- get helper_scripts to the repo
- follow the structure in docker_ks to create
docker-compose.yml
andDockerfile
files - use Makefile as an example for building make automation
There is a configured Sphinx API docs for the service. To compile docs execute:
make html
in docs
directory
or run:
make doc
in the ingestion
directory
#ID SERVICE
- id/id_service/data/bootstrap.json contains the initial data that you need to run id service.
- id/id_service/magenid/idsapp/settings.py contains the Issuer url, etc.
##To Run The ID Serivce
-
Open the bootstrap.json file with your preferred text editor
-
Add/Remove the User and Group info
-
Add/Remove items in the connected_apps. A sample connected app has been added. It can be used for running your "id_client_sample". If you change the host/port of the "id_client_sample" then you need to update the url under "redirect_uris". Also, make sure the "id_client_sample" uses the same "client_id", "client_secret".
-
Open a Terminal. Navigate to the "id" directory, and run the following command:
$ make run_docker
#ID CLIENT SAMPLE
- id_client_sample/settings.py file contains the id service host url, callbak url, username, etc. Make sure you edit this before your start the client app.
- Open a Terminal. Navigate to the "id/id_client_sample_docker" directory, and run the following command:
$ docker-compose up