Skip to content

overture-stack/ego

Folders and files

NameName
Last commit message
Last commit date
Feb 22, 2021
Jan 15, 2019
Jan 18, 2019
Jun 7, 2023
Nov 29, 2017
May 18, 2018
Feb 10, 2021
Jan 15, 2019
Apr 27, 2023
Oct 12, 2018
Mar 12, 2021
Apr 27, 2023
Jan 25, 2018
Dec 15, 2020
Dec 15, 2022
Oct 18, 2018
Nov 4, 2022
May 26, 2022
Jan 20, 2022
Oct 18, 2018
Dec 8, 2022
Jan 14, 2022
Jan 15, 2019
Jan 15, 2019
Dec 8, 2022
Jun 6, 2023

Repository files navigation

Ego - Authentication and Authorization Microservice

ego-logo

Biomedical data requires secure protocols for authenticating users and authorizing the information and applications those users can access. Ego addresses this by facilitating user registration and providing a secure permission management system. An Ego UI was also developed to make these services accessible to all collaborators.


Ego is a vital service within the Overture research software ecosystem. With our genomics data management solutions, scientists can significantly improve the lifecycle of their data and the quality of their research. See our related products for more information on what Overture can offer.

Technical Specifications

Documentation

  • See our Developer wiki
  • For our user installation guide see our website here
  • For administrative guidance see our website here

Docker Setup

This is a step-by-step guide for setting up a dockerized version of Ego.

  1. Set up a google oauth client app. See here for more details
  • Note it may take 5 minutes to a few hours for settings to take effect
  1. Clone or Download the repository and update the docker-compose-all.yml file with your client id and secret
spring.security.oauth2.client.registration.google.clientId : "<insert-provided-client-Id>"
spring.security.oauth2.client.registration.google.clientSecret: "<insert-provided-clientSecret>"
  1. Open Docker desktop and then run the following command from your CLI
docker-compose -f docker-compose-all.yml up 
  1. Ego requires seed data to authorize the Ego UI as a client using the following command

Alternatively if you have Make installed you can run make init-db

docker exec ego-postgres-1  psql -h localhost -p 5432 -U postgres -d ego --command "INSERT INTO EGOAPPLICATION (name, clientId, clientSecret, redirectUri, description, status, errorredirecturi) VALUES ('ego ui', 'ego-ui', 'secret', 'http://localhost:8080/', '...', 'APPROVED', 'http://localhost:8080/error') on conflict do nothing"
  1. You can now access the Ego UI through http://localhost:8080/ego-ui
  • This will require your google sign in
  • Once signed in you will have access to the admin dashboard
  • The Ego swagger ui can be located at http://localhost:8080/swagger-ui.html

Support & Contributions

Related Products

Overture overview

Overture is an ecosystem of research software tools, each with narrow responsibilities, designed to address the adapting needs of genomics research.

The Overture Data Management System (DMS) is a fully functional and customizable data portal built from a packaged collection of Overture's microservices. For more information on DMS, read our DMS documentation.

See the links below for additional information on our other research software tools:


Product Description
Ego An authorization and user management service
Ego UI A UI for managing EGO authentication and authorization services
Score Transfer data quickly and easily to and from any cloud-based storage system
Song Catalog and manage metadata of genomics data spread across cloud storage systems
Maestro Organizing your distributed data into a centralized Elasticsearch index
Arranger Organize an intuitive data search interface, complete with customizable components, tables, and search terms