Oskar Otwinowski
e98a547e6c
feat(sso): SAML/OIDC single sign-on ( #3911 )
2026-06-19 09:40:20 +01:00
Eric Allam
f62cdfe00e
feat(dashboard): login with google and "last used" indicator ( #2746 )
...
<img width="568" height="513" alt="CleanShot 2025-12-05 at 14 27 16"
src="https://github.com/user-attachments/assets/1f44d8b9-8791-4b44-96d5-4a0960a1ab36 "
/>
<!-- CURSOR_SUMMARY -->
---
> [!NOTE]
> Adds Google OAuth login and a cookie-based “last used” indicator on
the login page, with supporting backend, routes, and schema updates.
>
> - **Auth/Backend**:
> - **Google OAuth**: Integrates `remix-auth-google` via new
`addGoogleStrategy` and enables when `AUTH_GOOGLE_CLIENT_ID/SECRET` are
set (`services/googleAuth.server.ts`, `services/auth.server.ts`).
> - **User handling**: Implements `findOrCreateGoogleUser` with
linking/upsert logic and conflict logging (`models/user.server.ts`).
> - **MFA + session**: Google/GitHub/Magic callbacks now set session,
handle MFA, and set a "last-auth-method" cookie
(`routes/auth.google*.tsx`, `routes/auth.github.callback.tsx`,
`routes/magic.tsx`, `services/lastAuthMethod.server.ts`).
> - **GitHub strategy**: Safer email check
(`services/gitHubAuth.server.ts`).
> - **Routes/UI**:
> - **Login page**: Adds "Continue with Google" button and animated
"Last used" badge based on cookie; keeps GitHub/Email options
(`routes/login._index/route.tsx`).
> - **Redirect safety**: Sanitize redirect paths and persist redirect
via cookies in auth actions (`routes/auth.github.ts`,
`routes/auth.google.ts`).
> - **Assets**: Adds `GoogleLogo` SVG.
> - **Avatar**: Set `referrerPolicy="no-referrer"` on profile image.
> - **Config/Schema**:
> - **Env**: Adds `AUTH_GOOGLE_CLIENT_ID`/`AUTH_GOOGLE_CLIENT_SECRET`
(`env.server.ts`).
> - **DB**: Extends `AuthenticationMethod` enum with `GOOGLE` (Prisma
schema + migration).
> - **Dependencies**:
> - Adds `remix-auth-google` in `package.json`.
>
> <sup>Written by [Cursor
Bugbot](https://cursor.com/dashboard?tab=bugbot ) for commit
9f84f974bd6f21f1699c4f69a6aa91616842d1b1. This will update automatically
on new commits. Configure
[here](https://cursor.com/dashboard?tab=bugbot ).</sup>
<!-- /CURSOR_SUMMARY -->
---------
Co-authored-by: James Ritchie <james@trigger.dev >
2025-12-09 09:51:42 +00:00
Eric Allam
b113e5a99c
Fix non-MFA login ( #2246 )
...
* Fix non-MFA login
* fixed typecheck errors
2025-07-08 14:59:31 +01:00
Eric Allam
b119a52e08
Implement MFA ( #2244 )
...
* Adds a new route for logging in with mfa
* New path for security page
* Adds “Security” link to account side menu
* Update the Switch component to allow label positions left and right
* Optionally hide the Close button in the Dialog title bar
* Installs `qrcode` react package for generating QR codes.
* CopyButton component now takes children
* New Security route for setting up MFA
* Adds new OTP package for the chadcn InputOTP component
* Adds new InputOTP chadcn component
* Adds InputOTP chadcn component to the MFA login screen
* InputOTP component supports variant styles
* Improvements to form handling
* Show a confirmation modal before you can disable MFA
* Revert redirect back to the dashboard for now
* Implement MFA enabling and disabling
* Refactor and cleanup mfa management code
* More cleanup
* Handle errors in the management action
* Implement mfa login flow
* recovery code input should be password
* Implement rate limiting on the mfa validation endpoint
* Better error ux
* Implement mfa emails and apply James' updates
* Use latest @better-auth/utils
* Improvements via CodeRabbit review
---------
Co-authored-by: James Ritchie <james@trigger.dev >
2025-07-08 13:44:47 +01:00
Eric Allam
3e5945fb9e
Stop storing github access tokens for github authenticated users
2023-07-31 15:41:44 +01:00
Eric Allam
7efe14b835
Logging in via github should work even after changing your email address
2023-07-07 16:34:41 +01:00
Eric Allam
31d8669c9d
Make github auth optional and better name the env vars
2023-06-22 17:42:51 +01:00
Matt Aitken
ad26302925
Fixed all liniting issues, almost all unused imports or type imports
2023-02-10 10:23:05 +00:00
Matt Aitken
5f649d1b2e
Moved postAuthentication actions into a separate file
2023-02-09 08:48:39 +00:00
Eric Allam
86c543c45f
Fire off internal custom events for user.created and workflow.created
2023-01-26 23:29:15 +00:00
Matt Aitken
5171b8592c
Send welcome email with a delay
2023-01-04 18:11:00 +00:00
Matt Aitken
999ef03732
Added LOGIN_ORIGIN env var that is used for GitHub login callback
2023-01-04 10:13:07 +00:00
Matt Aitken
c24922e6cf
Don’t create the first workflow, we’ll do that in code
2022-12-07 17:28:09 +00:00
Matt Aitken
14ec658000
Generate the personal organization slug from the user’s name or email
2022-12-07 15:53:07 +00:00
Matt Aitken
2f46559e9f
When a new user is created it creates a personal workspace and first workflow
2022-12-07 15:41:07 +00:00
Matt Aitken
def8d50a83
Login with GitHub and Magic link is working
2022-12-07 14:22:36 +00:00
Matt Aitken
9e1caee879
Remix auth from API Hero with Magic link and GitHub
2022-12-07 11:41:03 +00:00