samagra-development / user-service Goto Github PK
View Code? Open in Web Editor NEWAdditional Services related to user management in eSamwad
License: MIT License
Additional Services related to user management in eSamwad
License: MIT License
User service does not allow to logout users and revoke their tokens.
A Logout endpoint is needed from user service to logout users.
NA
User Service
[Area of governance]
TS, JS
NA
Medium
Feature
API
Currently, it uses only a single tag latest
it should also push the version
tag based on github tags
Please Describe The Problem To Be Solved
It will help the new users to easily sign up on UCI channel and easily login through a managed user login service with enabled authentication.
(Optional): Suggest A Solution
Things to address include:
If there are multiple solutions, please present each one separately. Save comparisons for the very end.)
If we send incorrect application id when hitting user service, we get internal server error. This creates ambiguity. It should display a proper error message saying "Application ID Doesn't exist" or any other informative message.
Add CRUD APIs for admin user on fusionauth and prod db
Attaching the postman collection for the the apis here
Please consider using the closing keyword if the pull request is proposed to
fix an issue already created in the repository
(https://help.github.com/articles/closing-issues-using-keywords/)
FusionAuth is an identity provider. User service can use FusionAuth as one of the providers. Currently, it is on the user end to set up FusionAuth and then configure environment variables accordingly. It can be automated by using a kickstart
file for FusionAuth.
The expected outcome is a kickstart file for FusionAuth that automates the setup process. This file should include the necessary configurations for basic roles, application ID, and API keys. Once the kickstart file is executed, FusionAuth should be fully configured and ready to use without requiring manual intervention.
The kickstart file can be written using a scripting language such as Bash or PowerShell, depending on the target platform. The file should include commands to install and configure FusionAuth, set up basic roles, and generate application ID and API keys. The environment file should be updated to read the necessary configuration values from the kickstart file.
NA
User Service
Samagra
Typescript, Javascript
Medium
Feature
Configuration
Add more info into the README file.
For querying users where some data resides at Fusion Auth DB & rest at Hasura side.
GET /admin/user/:userId
Use the existing devised generic approach; we'll add a new variable in env file JSON against the application ID with a new hasura Query, which will query & add a new fields in the response of this API. E.g.
Request body:
{
"hasuraMutations": [
{
"applicationId": "f0ddb3f6-091b-45e4-8c0f-889f89d4f5da",
"mutation": "getTeacherDetail",
"payload": {
"user_id": "xxxx"
}
}
]
}
Response body:
{
...
"hasuraMutations": [
{
"applicationId": "f0ddb3f6-091b-45e4-8c0f-889f89d4f5da",
"mutation": "getTeacherDetail",
"response": {
....
// result from Hasura query
}
}
]
}
Currently, the swagger APIs show empty request-response structure. Add types and parameters by adding DTOs to the requests. Use this auto DTO generator to generate Typescript DTOs from json-schemas
for the following
A docker compose file that also sets up fusionauth will help in getting started. Fusionauth can also be bootstrapped using kickstart file.
Users of Saksham Samiksha in Haryana while resetting password are receiving OTP messages in the template used for Samagra Shiksha app used in Himachal Pradesh.
https://github.com/Saksham-Education/saksham-samiksha-app/issues/115
We need to allow different applications can use different providers with configurable OTP templates.
Generic config will be enhanced by adding new JSON fields to allow override OTP provider & template from the default one defined at the environment level.
APIs needed to allow user status deactivation/re-activation.
Verify if user exists in Fusion Auth for the given application before sending OTP. If not exists, respond with customized/default error message pass in query param.
Related to: https://github.com/Mission-Prerna/prerna-lakshya-app/issues/103#issuecomment-1427767399
Addition of validation in the /api/sendOTP?phone=XXXX
API
The API is responding with wrong result set; causing wrong user profiles getting listed.
Tracked here - Samarth-HP/admin-ts#87
Instrumentation: NestJS-Otel
ConfigModule and ConfigService
rather than process.env.xxx
We shall use CDAC service instead of Gupshup(paid service) for sending all types of SMS.
I have a use case to validate a JWT token by hitting the endpoint /api/jwt/validate
in FA. User-service should have an endpoint for this.
Details here: https://github.com/Samarth-HP/esamwad-backend/issues/47#issuecomment-1418624646
New endpoint to be added.
--
User Journey
Endpoing - /login/otp
{
"loginId": <phone number>,
"password": <OTP>,
"applicationId": <appId>
}
Reset the pass to salt
+ OTP. Update the password every login.
Update the docs on the following things
status
at which the template should be valid
, in-process
{#var#}
Context: RCA
Add a README to the prod deployment of user service since the current directory structure is unintuitive.
We want to integrate Sentry into the app to record all app-wide exceptions.
Sentry will be integrated & all exceptions will be pushed to it.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.