hackforla / peopledepot

A project to setup a datastore for people and projects at HackforLA. The link below takes you to the code documentation
https://hackforla.github.io/peopledepot/
GNU General Public License v2.0
7 stars 26 forks source link

VRMS stakeholder meeting, August 2024 #359

Closed shmonks closed 1 month ago

shmonks commented 3 months ago

Overview

We are meeting with a key stakeholder, the VRMS team, to discuss their needs and gain input as we continue with initial setup.

This issue records both our questions for them and their responses/feedback.

Action Items

Resources/Instructions

shmonks commented 3 months ago

Questions for VRMS

fyliu commented 3 months ago

app token for login

Background info

fyliu commented 3 months ago

login process

I remember the old v0.4 VRMS got it working to the point where it was able to create new users in the cognito user pool and was able to login to cognito and get a JWT. Basically, it should work like that, where

PD backend will be able to recognize the token and know which user is making the request.

Reasoning

shmonks commented 3 months ago

APIs for VRMS features

Neecolaa commented 3 months ago

Potential PD Schema Change: We need to include a way to indicate whether or not a project's github repo is archived. If a project has multiple github repos, each repo can have an archive indicator.

shmonks commented 3 months ago

Notes from meeting

fyliu commented 3 months ago

I'm not sure if VRMS needs to do Cognito client_secret. It came from something Bonnie wanted which is to control what apps can access the peopledepot backend.

So that could be an app token. But app tokens aren't useful if they're available in the frontend where the user can potentially access them if they know what they're doing. That's why there's the backend requirement. But Cognito documentation itself doesn't recommend using client_secret for frontend apps. It recommends having it for apps with backends, like CTJ.

Another way to limit access is to limit the IPs and such that can send API requests. Maybe that route is the way to go if we want to control API access.

Or maybe there are other ways.