Skip to content
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(auth): refactor auth + allow to configure auth methods by workspace #8654

Open
wants to merge 15 commits into
base: feat/add-is-multi-workspace-flag
Choose a base branch
from

Conversation

AMoreaux
Copy link
Contributor

No description provided.

…t-auth-methods-by-workspace

# Conflicts:
#	packages/twenty-front/src/modules/auth/sign-in-up/components/SignInUpForm.tsx
#	packages/twenty-front/src/modules/auth/sign-in-up/hooks/useSignInUpForm.ts
Remove unused imports from SignInUpGlobalScopeForm.tsx to improve code readability and reduce clutter. This change simplifies the module by eliminating unnecessary dependencies.
Suppress eslint warnings for console.error in error handling. This ensures cleaner code and maintains log output for better debugging.
Correct the expected state in useAuth test to reflect the accurate status of authProviders. This includes setting 'google' and 'password' to true, and initializing 'sso' as an empty array.
Copy link

github-actions bot commented Nov 21, 2024

TODOs/FIXMEs:

  • // TODO AMOREAUX: this logger is trigger twice and the second time the message is undefined for an unknown reason: packages/twenty-server/src/engine/core-modules/workspace/services/workspace.service.ts
  • // TODO AMOREAUX: change that with subdomains: packages/twenty-server/src/engine/core-modules/workspace/services/workspace.service.ts

Generated by 🚫 dangerJS against 8e6e42b

Copy link
Contributor

@greptile-apps greptile-apps bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

PR Summary

This PR implements workspace-specific authentication configuration, replacing the global auth settings with per-workspace controls for Google, Microsoft, Password, and SSO authentication methods.

  • Added isGoogleAuthEnabled, isMicrosoftAuthEnabled, isPasswordAuthEnabled fields to /packages/twenty-server/src/engine/core-modules/workspace/workspace.entity.ts for per-workspace auth control
  • Replaced global IS_SIGN_UP_DISABLED with IS_MULTIWORKSPACE_ENABLED in server environment variables to support subdomain-based workspace access
  • Added new WorkspaceProviderEffect component in /packages/twenty-front/src/modules/workspace/components/WorkspaceProviderEffect.tsx to manage workspace-specific auth state
  • Added getPublicWorkspaceDataBySubdomain query in workspace resolver to fetch workspace-specific auth configuration
  • Implemented SSO identity provider management with new types and mutations in /packages/twenty-server/src/engine/core-modules/sso/ for OIDC and SAML support

88 file(s) reviewed, 66 comment(s)
Edit PR Review Bot Settings | Greptile

@AMoreaux AMoreaux changed the base branch from main to feat/add-is-multi-workspace-flag November 21, 2024 16:33
…lect-auth-methods-by-workspace

# Conflicts:
#	packages/twenty-front/src/generated/graphql.tsx
Updated SSO identity provider type and added types for workspace queries. Removed deprecated mutations and queries related to SSO identity providers and JWT generation. Added new fields and types to support improved workspace querying and switching capabilities.
refactor(auth): thanks greptile
```
Move import of workspaceValidator to maintain consistent import structure. This enhances readability and aligns with the project's import organization standards.
Removed unused imports from SignInUpGlobalScopeForm and SettingsSecurityOptionsList components. This cleanup improves code readability and reduces potential maintenance overhead.
Added `GET_PUBLIC_WORKSPACE_DATA_BY_SUBDOMAIN` query mock handler to return mock workspace data. Also updated the button text check in SignInUp stories for consistency.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant