Page MenuHomePhabricator

Implement the authentication and authorization mechanism for MPIC
Open, Needs TriagePublic

Description

Goal

Users need to be authenticated/authorized to use MPIC. To do that we have a login screen where user has to enter credentials (username/password) and these will be authenticated using CAS-SSO.

We have to keep in mind that all routes require authentication and authorization except where noted otherwise (so far the /api/v1/instrument API endpoint we currently have).

From the Instrument Configurator - Design Document:

We propose authenticating and authorizing users using OpenID Connect, implemented in openid-client, and
CAS-SSO as the OpenID Connect Issuer. Because the app will not make API requests to any third parties, we propose
implementing the Authorization Code Flow and storing the user identity, session ID, and an
HMAC in an httpOnly session cookie (herein “the session cookie”).

AC

Notes

Event Timeline