Commit Graph

151 Commits

Author SHA1 Message Date
5bcdeae663 🔧 chore: change selected data when create user session
These changes include:
1. Changes to the response structure when logging in with a third-party provider, by wrapping the token in `authToken` instead of directly entering it in the return data section.
2. Adding a type to user session creation by taking only the important elements. This is to prevent data leaks because important data is in jwt.
2026-01-09 14:10:56 +07:00
0cd253750a 🔧 chore: change response structure 2026-01-08 17:26:54 +07:00
c1d5d1692b feat: add new route to get client callback
This new route serves to find the client callback after successfully logging in from the provider page. This is done so that the callback becomes more flexible and can be changed at any time.
2026-01-08 17:22:05 +07:00
d8e8ec3fa7 ♻️ refactor: app token and oAuth endpoint request
These changes include:
1. Replacing the app token with a standard authorization barrier.
2. Changing the response body in the OAuth request by wrapping the endpoint link with a structure instead of placing it in the callback payload data.
2026-01-07 23:56:44 +07:00
d3fcf281b3 🐛 fix: clear tsconfig warning 2026-01-06 10:16:36 +07:00
f47a97e00e ♻️ refactor: add entry point for middleware module 2026-01-06 10:10:40 +07:00
c2ba666d26 🎨 (style) add success status in response payload 2025-10-11 23:46:57 +07:00
41b6807a36 🧑‍💻 (dev) change register flow
Change the user creation flow in the register so that it must go through the
main create user service first instead of directly accessing the create user
repo.
2025-10-11 02:00:19 +07:00
5c31ba7340 👔 (necktie) add safeguard for duplicate email case
Create a safeguard so that when a user enters an email address that has already been used with another OAuth provider,
it will be rejected to avoid double entries.
2025-09-13 16:15:01 +07:00
0458cc70aa 🧑‍💻 (dev) logging the error into console 2025-09-09 19:27:30 +07:00
098e0aac56 🐛 (fix) handle user name not found
Handle users who do not have a name by entering the login field as the username field to prevent errors in the GitHub
provision account process.
2025-09-09 17:30:27 +07:00
4c4ae0385b 🧑‍💻 (dev) improve error handler 2025-09-09 00:26:53 +07:00
cd8a0490c4 💡 (docs-code) add code documentation 2025-09-08 22:53:10 +07:00
a2a46ec933 🚩 (flags) complete github signup process 2025-09-07 23:17:00 +07:00
8861b0997d 🐛 (fix) fixing env example generator
Fixing the issue of missing in-line comments on non-preserved keys in the generated env example.
2025-09-07 15:13:25 +07:00
50500ec1ca 📈 (analytics) implement sentry error tracing system 2025-09-07 14:48:23 +07:00
86f8c2a96d 🚧 (wip) try to add callback uri option 2025-09-03 15:34:11 +07:00
bf35af294e 👔 add create account in provision
Add logic to create a new account when provisioning if not yet registered.
2025-08-30 22:41:42 +07:00
28d2ddad31 👔 change response format
Changing from write response to read response because the client must receive data in the form of jwt from the backend.
2025-08-30 10:21:04 +07:00
305e38bd45 🚧 (wip) testing with return context 2025-08-29 22:31:18 +07:00
8fe4757b56 👔 adding name capitalization to the provider 2025-08-26 10:45:58 +07:00
e79712a60c 🔧 change github provider icon 2025-08-26 10:43:44 +07:00
60aafc6933 ✏️ fix typo
fixed typo in google req_endpoint config
2025-08-25 22:26:50 +07:00
112f5188ed add throttle middleware
Create throttling on middleware to pause requests until a specified time before continuing. (default time 2s)
2025-08-24 14:02:28 +07:00
7e8b5be6cd 👔 create list for oauth providers
create list and endpoint to see avaiable oauth providers.
2025-08-24 10:42:36 +07:00
5cce8eea9f 🗃️ create dbml generator
Generate dbml from the Prisma schema when executing the command `bunx prisma generate`. The dbml can be used to
visualize the ERD using the dbdiagram.io website.
2025-08-24 07:03:18 +07:00
8abf3d3818 👔 (oauth) add callback URI option for google
Adding a callback option to the Google OAuth provider used to define the OAuth callback URI. If not defined, the
callback URI will use the default value in the .env file.
2025-08-14 23:43:16 +07:00
3df1f342fc 👔 (oauth) add callback URI options
provides the option to define a callback URI following a request from the frontend; if not defined, it will
automatically use the backend's default URI.
2025-08-13 18:51:10 +07:00
89ebfb8aa4 🔒 add app access token middleware
Create a middleware app access token, so that all requests must include `access_token` in the header with a value equal
to API_KEY in the .env file. If not, a `403 Forbidden` error will be returned.
2025-08-13 11:26:57 +07:00
c1adb767e7 📝 create documentation for user provision and authentication 2025-08-13 11:13:19 +07:00
1ebcc8d21d 👔 set redis cache and jwt encode
Set session data in Redis to reduce load on the main database and increase the speed of JWT token validation.
2025-08-13 10:48:48 +07:00
6bdd5b6468 🚩 create user session when provision
create a user session after provisioning authentication if the account has been created previously.
2025-08-12 23:59:06 +07:00
27769773af 🔧 change "exists" parameter to "exist"
Change the parameter “exists” to “exist” in the verbosity of find user.
2025-08-12 18:32:13 +07:00
a8a57ecce3 👔 change not found user logic
return false instead of returning the “not found” error if the verbosity parameter is “exists”.
2025-08-12 18:29:57 +07:00
5d79ffd055 🚩 add provision flow in oauth
Create a flow where if the user logs in with a registered Google account, they are immediately authenticated, but if no
account is found, create a new one.
2025-08-11 22:54:31 +07:00
7ce0e44389 📝 creating inline documentation 2025-08-11 00:15:16 +07:00
2ccb95e50f 🏷️ add type for after handle auth 2025-08-10 23:55:32 +07:00
8e584ff14e 📝 add google credentials into example env 2025-08-08 22:41:29 +07:00
ac0b25fb62 🏗️ separate http and internal service
separate between internal and http service due security concern in auth module
2025-08-07 23:07:53 +07:00
0d71710b14 add new oauth provider
add google idconnect as new auth provider
2025-08-06 15:31:24 +07:00
419b5b0ae4 create oauth login
Create authentication with oAuth using a third-party vendor. Currently, only GitHub is available, but more will be added
in the future.
2025-08-05 17:11:36 +07:00
88257d0eee 🏷️ change include option when getting user data 2025-07-28 11:22:08 +07:00
f2649c6d92 🚩 add file assets getter
create helper and boiler controller for get assets from object storage
2025-07-23 22:17:48 +07:00
95d85545cd create startup process
create a startup process before the main elysia process starts. aims to check the main program such as env check and so on.
2025-07-22 10:14:14 +07:00
945caca728 ⚗️ add minio lib
add minio lib for storing file in file system as bucket storage
2025-07-21 15:21:37 +07:00
a6571461db 👔 add create user role 2025-07-21 00:57:33 +07:00
e60bf0fd3e 👔 create boilerplate for user role module
add a few boilerplate including get by id and name for user role module
2025-07-20 22:21:48 +07:00
5c6e072622 👔 add include option on find user repository
add include option for spicify which associated data that want to retrive along with user data response
2025-07-20 15:06:38 +07:00
6de6028a40 💚 minor fix 2025-07-19 09:54:54 +07:00
e8b27eecb2 💚 (merge build process) 2025-07-19 00:20:08 +07:00