Staging and Production setup for Users Service #2053
Labels
area: microservices
area: redis
Redis Database related
type: enhancement
New feature or request
type: security
Security concerns
Discussions today led us to the conclusion that we need a list of steps for everything we have to do in order to fully ship the Users service:
Land Closes Issue #1932: Added environment variables to prod's Docker file #2027 for docker configs(@chrispinkney)Modify Firebase schema to use email vs. id as the User identifier, in order to match Seneca'snameID
. This will involve changes to unit tests, Celebrate validation, and Users schema (@humphd Use hashed email as id for Users in Firestore #2060)Paginate data for Users / route Fixes issue-1929: Paginated get route #2022 (@chrispinkney)Modify https://github.com/Seneca-CDOT/telescope/blob/master/src/api/auth/src/authorization.js#L19-L27 to use nameID and have JWT token match what Users service expects, as well as include roles in JWTs (i.e., convertisAdmin
to["admin", ...]
) when we create the token (@humphd, Add proper roles and User service to JWT authorization #2058).AddcreateServiceToken
to Satellite for inter-service communication, to allow forrole["service"]
@humphd in Add support for generating a service token DevelopingSpace/satellite#10, Expose JWT_ISSUER, JWT_AUDIENCE, and SECRET env vars to all services #2055 to deal with missing env vars to make that possible.Add auth middleware to all routes of Users service based on JWT id (i.e., email) and/or role (e.g., admin or service account) (@humphd Add auth middleware to Users service #2116)Connect Users service to front-endi.
on login, we need to get user info from User service to populate theuser
object. Instead of using the JWT payload for user info (see https://github.com/Seneca-CDOT/telescope/blob/master/src/web/src/components/AuthProvider.tsx#L81-L93), we need to do a GET request to the Users service, passing our JWT token, and get back the full user object (Rework User to use proper JWT payload data #2088 @humphd)ii.
signup flow in front-end SignUp Page #2148 (@PedroFonsecaDEV, @DukeManh, @Meneguini)Migrate legacy accounts away from wiki (automate something to import this into Firebase from data we have in Wiki now) to Firebase (@humphd, @chrispinkney, @manekenpix) Migrate legacy accounts away from wiki #2083Investigate healthcheck API for Firebase to connect to Satellite (@chrispinkney)- Doesn't look like Firestore supports thisUpdate Users e2e tests to work via public API Fix users MS e2e tests #2054 (@manekenpix, @chrispinkney) PR Closes #2054: Fix users MS e2e tests #2173Signup flow fails with feed-discovery Signup flow fails with feed-discovery #2186The text was updated successfully, but these errors were encountered: