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.
- Written in JAVA
- Uses well-known single-sign-on identity providers such as Google, GitHub, LinkedIn and ORCiD.
- OAuth 2.0 and OpenID Connect compliant
- Developed with Sprint Boot and Spring Security Frameworks
- Scalable with JSON Web Tokens (JWT)
- For more information visit our wiki
- See our Developer wiki
- For our user installation guide see our website here
- For administrative guidance see our website here
This is a step-by-step guide for setting up a dockerized version of Ego.
- 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
- 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>"
- Open Docker desktop and then run the following command from your CLI
docker-compose -f docker-compose-all.yml up
- 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"
- 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
- Filing an issue
- Making a contribution
- Connect with us on Slack
- Add or Upvote a feature request
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 |