OHDSI / OHDSI/WebAPI

Personal Access Token for security-enabled WebAPI

Open
#1,473 22 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Java
Stars
151
Forks
183
Avg merge
14m
Merged PRs (30d)
2

Description

Problem Statement

When WebAPI AtlasRegularSecurity is enabled, requests to WebAPI require an Authorization token as part of the request as described on the wiki: https://github.com/OHDSI/WebAPI/wiki/Security-Implementation#signing-requests-to-protected-methods. This is cumbersome when using the WebAPI from applications other than ATLAS since obtaining the Authorization token is only possible when accessing WebAPI via ATLAS today. As an example, we have R code that aims to use WebAPI to access design elements, etc which cannot participate in the authentication process enabled by ATLAS/WebAPI

Background

To obtain the Authorization requires the security handshake with one of the configured security providers to ensure that authentication is completed. The authentication process may vary between providers (i.e. AD, oAuth, etc) and may require redirection to 3rd party sites for authentication, etc. Doing this in the context of R is not practical since it would require a browser to do this work.

Ideas to move forward

I like the idea of having a personal access token as is done for accessing the GitHub API and is described here in these articles:

The advantage of this is that we can insist on the proper security mechanisms through ATLAS and use that as mechanism to create & store a personal access token.

Please consider this as a working idea vs. a solution - I think the more we can find a workable solution to this for 2.8 it will help us think through a more robust solution for 3.0.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the WebAPI Security Implementation wiki section on signing requests and trace the AtlasRegularSecurity authentication flow and configured security providers. The issue is a working idea rather than an implementation plan; done would require an agreed personal-access-token design that lets non-ATLAS clients authenticate without the browser-based provider handshake.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
api, authentication, backend
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
22/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.