Dear DM (possibly one for SQuaRE team),
Here in LSST:UK, we have sketched out a design for authentication of data-rights holders to access LSST DR products on the UK IDAC. We have three (or four), high-level steps:
- Step 1 – ideally in time for DP1, but in any case as soon as practical, we plan to implement DMTN-253 as written with our instance of Gafaelfawr as client and the US DAC as the IDP.
- Then, Step 2 will be to introduce a proxy (probably Keycloak) between our RSP and the US DAC (with the data_rights claim being passed through) in order to allow users to log in using a different IDP or local account (obviously in this case the data_rights claim does not get set, so such users would have no access to data releases, but could still log in to, e.g., view non-rubin data or start a nublado session to access Lasair);
- Step 3, we’d like to enable account linking so that a user with both types of login doesn’t need two separate accounts
- Step 4, we’d like to extend the data_rights mechanism to cover non-rubin data (this would require additional work on our part, perhaps running a custom TAP service for such data so it’s more of a long-term ambition than a concrete plan).
We don’t anticipate any problems with the first two steps - does this seem correct?
The main problem that we foresee at Step 3 is ensuring that the data_rights claim gets updated in a reasonable timeframe when it changes (e.g., due to a new data release or a grace period expiring) regardless of which IDP is in use. Any thoughts on how we could handle this?