IHTSDO / snow-owl

Snow Owl Terminology Server. This version is no longer maintained. Please use the upstream version or the alternate Snowstorm Terminology Server.
Apache License 2.0
11 stars 1 forks source link

Can't figure out flow between termserver and authoring service. #65

Closed dhirendraps closed 5 years ago

dhirendraps commented 6 years ago

I am trying to setup the Authoring Platform. Setup the JIRA as defined in the given link(https://confluence.ihtsdotools.org/tools/deploying-tools/authoring-platform-deployment/authoring-platform-jira-setup) and created the project on JIRA following given link (https://confluence.ihtsdotools.org/display/SIAPUG/Creating+an+AP+Project+in+Jira) also added project and Task in the JIRA.

I am able to fetch tasks from JIRA in authoring-UI but when trying to fetch the project from the Authoring UI, it is looking for branch on the termserver for that particular project. In error log it is clear that it is Failed to retrieve Branch because it is unauthorized.

Initally user is authorized from the IMS and getting a crowd token key and dev-ims-ihtsdo in auhtoring service application.properties file Can be used to configure static SSO values for dev rather than using Nginx authentication.override.username=miguser authentication.override.roles=refset-administrators authentication.override.token=dev-ims-ihtsdo

I created a branch in termserver by following Terminology server setup section from the following link (https://confluence.ihtsdotools.org/display/DEVOPS/Creating+a+new+extension+in+MS) and using file authentication in termserver.

What is the authentication process to fetch branch from termserver. What role we required for proper authentication. How token are used for authentication. Please help me in understanding the process/flow of fetching project and working of authoring service with the termserver.

kaicode commented 6 years ago

Hi @dhirendraps, thanks for your question. We don't have any documentation in this area but I will try to explain here.

Authoring Services should be accessed via NGinx. Authoring Services should access Snow Owl via Nginx. For every request NGinx will authenticate the crowd token key by contacting IMS. It does this using the auth_request module, example configuration here https://gist.github.com/kaicode/cc149d3487e2408c247427df9ac3ab01 It can be difficult to get an NGinx package with this module, you may need to compile one yourself, I can't advise on this.

Once you have this setup this is the flow of requests: