-
-
Notifications
You must be signed in to change notification settings - Fork 115
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat(api): Add OAuth redirection and polished authentication #212
Conversation
PR Description updated to latest commit (d2a956e) |
PR Review 🔍(Review updated until commit 879da25)
Code feedback:
|
PR Code Suggestions ✨
|
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## develop #212 +/- ##
============================================
+ Coverage 62.20% 91.62% +29.41%
============================================
Files 76 107 +31
Lines 1503 2435 +932
Branches 260 455 +195
============================================
+ Hits 935 2231 +1296
+ Misses 568 204 -364
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. |
/review |
Persistent review updated to latest commit 879da25 |
/improve |
/ask regenerate suggestions |
Ask❓regenerate suggestions Answer:The PR introduces several enhancements and new functionalities related to OAuth handling in an API, including redirection after OAuth login/signup, setting cookies, and enforcing authentication provider consistency. Here are the detailed responses to the changes:
Overall, the PR is well-structured and addresses the enhancement of OAuth functionalities robustly. It ensures better security by enforcing provider consistency and improves user experience by handling redirection and cookie management efficiently. The use of environment variables for configuration and centralizing repeated logic into single methods are good practices that enhance code maintainability and readability. |
PR Code Suggestions ✨
|
Quality Gate passedIssues Measures |
/improve |
PR Code Suggestions ✨
|
## [1.3.0](v1.2.0...v1.3.0) (2024-05-12) ### 🚀 Features * Add approval support ([#158](#158)) ([e09ae60](e09ae60)) * **api:** Add configuration live update support ([#181](#181)) ([f7d6684](f7d6684)) * **api:** Add feature to export data of a workspace ([#152](#152)) ([46833aa](46833aa)) * **api:** Add Integration support ([#203](#203)) ([f1ae87e](f1ae87e)) * **api:** Add note to [secure] and variable ([#151](#151)) ([2e62351](2e62351)) * **api:** Add OAuth redirection and polished authentication ([#212](#212)) ([d2968bc](d2968bc)) * **api:** Add support for storing and managing variables ([#149](#149)) ([963a8ae](963a8ae)) * **api:** Added GitLab OAuth ([#188](#188)) ([4d3bbe4](4d3bbe4)) * **api:** Added validation for reason field ([#190](#190)) ([90b8ff2](90b8ff2)) * **api:** Create default workspace on user's creation ([#182](#182)) ([3dc0c4c](3dc0c4c)) * **api:** Reading `port` Dynamically ([#170](#170)) ([fd46e3e](fd46e3e)) * **auth:** Add Google OAuth ([#156](#156)) ([cf387ea](cf387ea)) * **web:** Added waitlist ([#168](#168)) ([1084c77](1084c77)) * **web:** Landing revamp ([#165](#165)) ([0bc723b](0bc723b)) ### 🐛 Bug Fixes * **web:** alignment issue in “Collaboration made easy” section ([#178](#178)) ([df5ca75](df5ca75)) * **workspace:** delete duplicate tailwind config ([99d922a](99d922a)) ### 📚 Documentation * add contributor list ([f37569a](f37569a)) * Add integration docs ([#204](#204)) ([406ddb7](406ddb7)) * Added integration docs to gitbook summary ([ab37530](ab37530)) * **api:** Add swagger docs of API key controller ([#167](#167)) ([2910476](2910476)) * **api:** Add swagger docs of User Controller ([#166](#166)) ([fd59522](fd59522)) * fix typo in environment-variables.md ([#163](#163)) ([48294c9](48294c9)) * Remove supabase from docs ([#169](#169)) ([eddbce8](eddbce8)) * **setup:** replace NX with Turbo in setup instructions ([#175](#175)) ([af8a460](af8a460)) * Update README.md ([b59f16b](b59f16b)) * Update running-the-api.md ([177dbbf](177dbbf)) * Update running-the-api.md ([#193](#193)) ([3d5bcac](3d5bcac)) ### 🔧 Miscellaneous Chores * Added lockfile ([60a3b9b](60a3b9b)) * Added lockfile ([6bb512c](6bb512c)) * **api:** Added type inference and runtime validation to `process.env` ([#200](#200)) ([249e07d](249e07d)) * **api:** Fixed prisma script env errors ([#209](#209)) ([8762354](8762354)) * **API:** Refactor authority check functions in API ([#189](#189)) ([e9d710d](e9d710d)) * **api:** Refactor user e2e tests ([b38d45a](b38d45a)) * **ci:** Disabled api stage release ([97877c4](97877c4)) * **ci:** Update stage deployment config ([868a6a1](868a6a1)) * **codecov:** update api-e2e project coverage ([1e90d7e](1e90d7e)) * **dockerfile:** Fixed web dockerfile ([6134bb2](6134bb2)) * **docker:** Optimized web Dockerfile to reduct image size ([#173](#173)) ([444286a](444286a)) * **release:** Downgraded package version ([c173fee](c173fee)) * **release:** Fix failing release ([#213](#213)) ([40f64f3](40f64f3)) * **release:** Install pnpm ([1081bea](1081bea)) * **release:** Updated release commit ([b8958e7](b8958e7)) * **release:** Updated release commit ([e270eb8](e270eb8)) * Update deprecated husky Install command ([#202](#202)) ([e61102c](e61102c)) * Upgrade @million/lint from 0.0.66 to 0.0.73 ([#172](#172)) ([dd43ed9](dd43ed9)) * **web:** Updated fly memory config ([4debc66](4debc66)) ### 🔨 Code Refactoring * **api:** Made events central to workspace ([#159](#159)) ([9bc00ae](9bc00ae)) * **api:** Migrated to cookie based authentication ([#206](#206)) ([ad6911f](ad6911f)) * **monorepo:** Migrate from nx to turbo ([#153](#153)) ([88b4b00](88b4b00))
🎉 This PR is included in version 1.3.0 🎉 The release is available on GitHub release Your semantic-release bot 📦🚀 |
User description
Description
AuthProvider
enum to distinguish the kind of authentication the user made while signing up.PR Type
enhancement, bug_fix
Description
AuthProvider
to user creation processes and updated relevant methods across services.Changes walkthrough 📝
auth.controller.ts
Enhance OAuth handling and refactor authentication methods
apps/api/src/auth/controller/auth.controller.ts
methods.
setCookie
method.AuthProvider
to OAuth login handling.sendRedirect
method to handle user redirection after OAuthauthentication.
auth.service.ts
Update authentication service to support multiple OAuth providers
apps/api/src/auth/service/auth.service.ts
AuthProvider
parameter tohandleOAuthLogin
andcreateUserIfNotExists
methods.provider authentication.
create-user.ts
Update user creation to include authentication provider
apps/api/src/common/create-user.ts
createUser
function to acceptAuthProvider
and include it inuser creation.
user.service.ts
Refactor user service to specify authentication provider on creation
apps/api/src/user/service/user.service.ts
AuthProvider.EMAIL_OTP
as theauthentication method.
migration.sql
Database migration to add authentication provider to users
apps/api/src/prisma/migrations/20240512141423_add_auth_provider/migration.sql
AuthProvider
enum and updated theUser
table to include anauthProvider
column.schema.prisma
Update Prisma schema to include AuthProvider enum
apps/api/src/prisma/schema.prisma
AuthProvider
enum to the Prisma schema.authProvider
in theUser
model.user.e2e.spec.ts
Update user service tests to handle new AuthProvider field
apps/api/src/user/user.e2e.spec.ts
AuthProvider.EMAIL_OTP
in expected userproperties.
.env.example
Update environment configuration for OAuth redirection
.env.example
path.