Add Google/Microsoft SSO buttons and OAuth callback flow (#24) (#41)
Unit Tests / test (push) Successful in 12s
Unit Tests / test (push) Successful in 12s
## Summary - Frontend half of ai_ml_operations/chat_backend#24 - SSO buttons on Sign In / Sign Up (shown when `/public/settings/` reports provider configured) - New `/auth/callback/` route stores JWTs, loads account, sends new SSO users through Stripe Checkout - Error states for denied consent, unverified/missing email, link conflict, etc. - README note on Capacitor / native redirect URI limits ## Pair with - Backend PR: `chat_backend` branch `feature/sso-oauth-24` ## Test plan - [ ] `npm test -- --watchAll=false --testPathPattern="SignIn.test|SignUp.test|AuthCallback.test"` - [ ] With backend OAuth configured, Continue with Google/Microsoft from Sign In works - [ ] First-time SSO register lands in Stripe Checkout when `needs_checkout=1` - [ ] Existing linked user signs in and reaches app / TOS - [ ] Error query (`email_unverified`, `access_denied`) shows message + back linkReviewed-on: #41
This commit was merged in pull request #41.
This commit is contained in:
@@ -3,6 +3,7 @@ import './App.css';
|
||||
import { Routes, Route, Outlet, Navigate } from 'react-router-dom';
|
||||
import SignIn from './llm-fe/pages/SignIn/SignIn';
|
||||
import SignUp from './llm-fe/pages/SignUp/SignUp';
|
||||
import AuthCallback from './llm-fe/pages/AuthCallback/AuthCallback';
|
||||
import BillingSuccess from './llm-fe/pages/BillingSuccess/BillingSuccess';
|
||||
import BillingCancel from './llm-fe/pages/BillingCancel/BillingCancel';
|
||||
import PasswordReset from './llm-fe/pages/PasswordReset/PasswordReset';
|
||||
@@ -50,6 +51,7 @@ class App extends Component {
|
||||
|
||||
<Route path={"/signin/"} Component={SignIn} />
|
||||
<Route path={"/signup/"} Component={SignUp} />
|
||||
<Route path={"/auth/callback/"} Component={AuthCallback} />
|
||||
<Route path={"/billing/success"} Component={BillingSuccess} />
|
||||
<Route path={"/billing/cancel"} Component={BillingCancel} />
|
||||
<Route path={"/password_reset/"} Component={PasswordReset} />
|
||||
|
||||
Reference in New Issue
Block a user