50 lines
2.0 KiB
Markdown
50 lines
2.0 KiB
Markdown
# Task List
|
|
|
|
## Implement better way of handling jwt tokens
|
|
|
|
Check: https://hasura.io/blog/best-practices-of-using-jwt-with-graphql/#server-side-rendering-ssr
|
|
|
|
- [x] Set finger print in response cookie (https://github.com/hasura/jwt-guide/blob/60a7a86146d604fc48a799fffdee712be1c52cd0/lib/setFingerprintCookieAndSignJwt.ts#L8)
|
|
- [x] Save refresh token in session store
|
|
- [x] refresh token should be made more secure with the help of secure token rotation. Every time new token is requested new refresh token should be generated
|
|
- [x] Return jwt in response
|
|
- [x] To get session send finger print and refresh token [if they are valid -> a new access token is generated and sent to user]
|
|
- [x] Refresh token should be long living token (refresh token + finger print hash should be verified)
|
|
|
|
## Open ID compatible claims and schema
|
|
|
|
- [x] Rename `schema.graphqls` and re generate schema
|
|
- [x] Rename to snake case [files + schema]
|
|
- [x] Refactor db models
|
|
- [x] Check extra data in oauth profile and save accordingly
|
|
- [x] Update all the resolver to make them compatible with schema changes
|
|
- [x] Update JWT claims
|
|
- [x] Write integration tests for all resolvers
|
|
|
|
## Feature Multiple sessions
|
|
|
|
- Multiple sessions for users to login use hMset from redis for this
|
|
user_id access_token1 long_live_token1
|
|
user_id access_token2 long_live_token2
|
|
|
|
# Feature roles
|
|
|
|
For the first version we will only support setting roles master list via env
|
|
|
|
- [x] Support following ENV
|
|
- [x] `ROLES` -> comma separated list of role names
|
|
- [x] `DEFAULT_ROLE` -> default role to assign to users
|
|
- [x] Add roles input for signup
|
|
- [x] Add roles to update profile mutation
|
|
- [x] Add roles input for login
|
|
- [x] Return roles to user
|
|
- [x] Return roles in users list for super admin
|
|
- [x] Add roles to the JWT token generation
|
|
- [x] Validate token should also validate the role, if roles to validate again is present in request
|
|
|
|
# Misc
|
|
|
|
- [x] Fix email template
|
|
- [x] Add support for organization name in .env
|
|
- [x] Add support for organization logo in .env
|